Getting Started
Do I need to install anything?
Do I need to install anything?
- An AI assistant that supports MCP (Claude Desktop or VSCode with Continue extension)
- A ULPI.io account
- An API key
Is there a free tier?
Is there a free tier?
- Up to 3 API keys
- 100 searches per day
- 1 GB of indexed documentation
- All core MCP features
Which AI assistants work with ULPI?
Which AI assistants work with ULPI?
- Claude Desktop (built-in MCP support)
- VSCode with Continue extension
- VSCode with Codeium (Pro plan)
- GitHub Copilot Chat (when MCP support launches)
- Cursor IDE
- JetBrains IDEs
Can I index private repositories?
Can I index private repositories?
- Authorize ULPI to access your repos
- Select which repositories to index
- Only you (your tenant) can search them
Authentication & Security
How secure are my API keys?
How secure are my API keys?
- Are hashed and encrypted at rest
- Only shown once during creation
- Can be revoked instantly
- Support expiration dates
- Track usage for auditing
Can other tenants see my documentation?
Can other tenants see my documentation?
- Each tenant has a separate Typesense collection
- API keys are scoped to one tenant only
- Database queries automatically filter by tenant ID
- No cross-tenant access is possible
What happens if my API key is compromised?
What happens if my API key is compromised?
- Immediately revoke it in the ULPI dashboard
- Create a new key with a different name
- Update your MCP configuration with the new key
- Review usage logs to check for suspicious activity
Should I use test or live keys?
Should I use test or live keys?
- Local development
- Experimenting with ULPI
- CI/CD pipelines
- Production use
- Shared team environments
- Customer-facing integrations
Using MCP Tools
Why aren't my searches returning results?
Why aren't my searches returning results?
-
Indexing not complete
- Check ULPI dashboard for indexing status
- Large repos can take 5-10 minutes
-
No documentation files found
- ULPI indexes .md, .mdx, and .txt files
- Check if your repo contains these file types
-
Query too specific
- Try broader search terms
- Remove repository/branch filters
-
Wrong tenant/API key
- Verify you’re using the correct key
- Check key is associated with right tenant
How do I search a specific repository?
How do I search a specific repository?
Can I search multiple repositories at once?
Can I search multiple repositories at once?
search_documentation searches all your repositories.To search specific repos, ask your AI to search each one:What's the difference between snippet and standard search?
What's the difference between snippet and standard search?
- Returns 30% of each document
- Up to 20 results
- Faster, uses fewer tokens
- Great for browsing
- Returns full document content
- Up to 10 results
- More detailed answers
- Best for most queries
- Full content, 30 results
- For deep research
- Uses more tokens
Technical Issues
Claude Desktop doesn't see ULPI tools
Claude Desktop doesn't see ULPI tools
- ✅ Configuration file exists at correct location
- ✅ JSON syntax is valid (check at jsonlint.com)
- ✅ API key is correct (no extra spaces)
- ✅ Claude Desktop was fully restarted (not just window closed)
- Delete and recreate the config file
- Reinstall Claude Desktop
- Try a different API key
Getting 'Invalid API Token' errors
Getting 'Invalid API Token' errors
-
Key copied incorrectly
- Check for extra spaces or line breaks
- Copy directly from ULPI dashboard
-
Key was revoked
- Check key status in dashboard
- Create a new key if revoked
-
Key expired
- Check expiration date
- Renew or create new key
-
Wrong environment
- Test keys only work in test environment
- Live keys only work in live environment
Searches are timing out
Searches are timing out
- Increase timeout in your MCP config:
- Use snippet detail level for faster searches:
- Check ULPI status at status.ulpi.io
- Contact support if issue persists
Configuration file location on my OS?
Configuration file location on my OS?
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- All OS: Use Command Palette → “Continue: Open config.json”
- All OS: Use Command Palette → “Preferences: Open Settings (JSON)“
Billing & Plans
How is usage calculated?
How is usage calculated?
- Searches: Each
search_documentationcall - Expands: Each
expand_documentcall - Storage: Total size of indexed documentation
list_repositoriescalls- Failed requests
- Test environment usage
What happens if I exceed my plan limits?
What happens if I exceed my plan limits?
- Searches stop at 100/day
- Resets at midnight UTC
- Upgrade to continue
- Soft limit warnings at 80%
- Hard limit at 10,000/day
- Auto-upgrades to Enterprise if exceeded 3 times
- Custom limits
- No automatic cutoffs
Can I upgrade or downgrade?
Can I upgrade or downgrade?
- Upgrades take effect immediately
- Downgrades take effect next billing cycle
- No data is lost when changing plans
Do you offer student/education discounts?
Do you offer student/education discounts?
- 50% off Pro plan
- Extended free tier (300 searches/day)
- .edu email address
- Or student ID verification
- Or link to open-source project
Repository Management
How often are my docs re-indexed?
How often are my docs re-indexed?
- You push to GitHub (via webhooks)
- Every 24 hours as a backup
- Manually triggered from dashboard
Can I index documentation from other sources?
Can I index documentation from other sources?
- GitHub repositories
- GitLab repositories (coming soon)
- Direct file uploads (coming soon)
- Confluence
- Notion
- Google Docs
Which file types are indexed?
Which file types are indexed?
- Markdown (.md, .mdx)
- Plain text (.txt)
- ReStructuredText (.rst)
- AsciiDoc (.adoc)
- HTML (.html)
- PDF (.pdf)
- Microsoft Word (.docx)
Can I exclude certain files or folders?
Can I exclude certain files or folders?
.ulpiignore file to your repository root: