Your AI Will Know Your Entire Codebase in 5 Minutes
Right now: Your AI hallucinates patterns. You copy-paste docs every session. New developers ask the same questions for weeks. 5 minutes from now: Your AI assistant has instant access to every README, wiki page, and architecture doc across all your repositories. This guide gets you there—fast.What You’ll Accomplish
Connect GitHub
2 minutesOAuth connection → automatic repository discovery
Index Documentation
1-3 minutes (automatic)AI processes all your docs in the background
Configure AI Tool
2 minutesAdd ULPI MCP server to Claude Code, Cursor, or 40+ other tools
Ask First Question
Instant answers“How do we deploy?” → Your AI knows immediately
Total time: 5-7 minutes. Most of it is waiting for automatic indexing.
Prerequisites
You’ll need:- Required
- Recommended (Not Required)
GitHub Account
Sign up free at github.comWorks with personal or organization accounts
AI Coding Assistant
Any MCP-compatible tool:
- Claude Desktop (recommended)
- Cursor
- Windsurf
- VSCode with Continue/Cline
- See all 40+ tools
- Public or private repositories (both supported)
- GitHub, GitLab, Bitbucket, or Gitea
- Documentation in Markdown, README files, wikis, or code comments
Step 1: Create Your ULPI Account
Stop wasting time searching. Let’s fix this now.Visit app.ulpi.io
Go to app.ulpi.io and click Sign Up
No credit card required for signup. Choose your plan after you see the value.
Authenticate with GitHub
Click Continue with GitHub to authenticate via OAuthWhat we request:
- ✅ Read-only access to repositories
- ✅ Webhook access (for auto-sync)
- ❌ We never write to your code
- ❌ We never modify repositories
Using GitLab, Bitbucket, or Gitea? Select “Other Git Provider” and follow the connection wizard.
Choose Your Plan
Select a plan based on your team size:Compare all plans in detail →
- Starter ($29/mo)
- Professional ($99/mo)
- Enterprise ($299/mo)
Perfect for solo developers or small teams:
- 5 repositories
- 100,000 tokens/month (~15-20 searches/day)
- Semantic search across all docs
- Auto-sync on every push
- MCP integration (40+ AI tools)
- Email support
Not sure? Start with Starter. Upgrade anytime. We’ll prorate the difference.Bundle discount: Save 15-20% by combining Documentation with Skills, Memory, Coordination, or Hooks.
Complete Billing
Enter payment details via Stripe (secure, PCI-compliant)Guarantees:
- 🔒 Bank-level security (PCI-DSS Level 1)
- 💳 30-day money-back - cancel anytime, full refund
- 🔄 Flexible billing - change plans monthly
- 📊 Transparent usage - see token consumption in real-time
Your account is live immediately after payment confirmation.
Step 2: Connect Your Repositories
Make your documentation searchable by AI.Navigate to Repositories
In the ULPI dashboard:
- Click Repositories in the left sidebar
- You’ll see the repository connection screen
If you just signed up, you’ll be automatically directed here.
Select Repositories to Connect
Choose which repositories to make searchable:
- Select Individual Repos
- Connect All Repositories
- Filtered by Team/Org
Best for testing or specific projects:
- Browse your repositories in the list
- Check the boxes next to repositories with documentation
- Click Connect Selected (green button)
Grant Permissions
ULPI requests authorization to:
Click Authorize ULPI to proceed.
✅ Read Repository Contents
✅ Read Repository Contents
What we read:
- Documentation files (
.md,.mdx,README.*) - Wiki pages (optional, you can disable)
- Code comments (optional, disabled by default)
- Source code (unless you enable comment indexing)
- Secrets,
.envfiles - Build artifacts,
node_modules/ - Binary files
✅ Receive Webhook Notifications
✅ Receive Webhook Notifications
Why we need this:
- Automatic re-indexing on git push
- Keep documentation always up-to-date
- No manual “sync” button needed
- Push to main/master branch
- Pull request merges
- Wiki updates
- Manual trigger from dashboard
❌ We Never Write to Your Code
❌ We Never Write to Your Code
Security guarantee:
- ❌ Cannot modify files
- ❌ Cannot create commits
- ❌ Cannot push changes
- ❌ Cannot delete repositories
Wait for Initial Indexing
ULPI automatically discovers and indexes your documentation:
- What Gets Indexed
- Indexing Speed
- What Happens During Indexing
Automatically included:
- ✅
README.md,README.txt(all directories) - ✅
docs/anddocumentation/directories - ✅ All
.mdand.mdxfiles - ✅
CONTRIBUTING.md,CHANGELOG.md - ✅ Architecture Decision Records (ADRs)
- ✅
.github/documentation
- 🔧 Wiki pages (disabled by default, can enable)
- 🔧 Code comments and docstrings (disabled by default)
- 🔧 Jupyter notebooks (
.ipynb) - 🔧
.txtfiles in doc directories
- ❌
node_modules/,vendor/,packages/ - ❌ Build directories (
dist/,build/,out/) - ❌
.git/directory - ❌ Binary files (images, PDFs, etc.)
- ❌ Large files (>1MB)
.ulpiignore file (works like .gitignore)Troubleshooting: Repository not appearing in list
Troubleshooting: Repository not appearing in list
If you don’t see your repository:
-
Check GitHub OAuth permissions:
- Go to github.com/settings/applications
- Find “ULPI Documentation”
- Ensure it has access to the organization
- Click “Grant access” if needed
-
Organization settings:
- Org admin must approve third-party apps
- Ask your GitHub org admin to approve ULPI
- Guide for admins →
-
Repository visibility:
- Private repos require explicit OAuth permission
- Re-authenticate and grant access to private repositories
-
Still not working?
- Contact support: support@ulpi.io
- Include: repository URL, GitHub username, error messages
Step 3: Create an API Key
API keys connect your AI assistant to ULPI’s documentation search.Navigate to API Keys
In the ULPI dashboard:
- Click Settings in sidebar
- Select API Keys tab
- You’ll see the API key management screen
Configure Key Settings
Fill in API key details:
- Basic Settings
- Security Settings
- Advanced Settings
Name:
Environment:
Documentation MCP Server(For identification—name it after where you’ll use it)Examples:- “Claude Desktop - MacBook Pro”
- “Cursor - Work Laptop”
- “Team Shared Key”
Environment:
live (production) or test (development)live: Use in real AI assistants (recommended)test: Use for testing, development, experiments
Start with
live environment unless you’re developing integrations.Copy Your API Key
⚠️ CRITICAL: This is shown ONLY ONCE!
- Copy the API key immediately
- Store it securely:
- Password manager (1Password, LastPass, Bitwarden)
- Environment variable in your shell config
- Secure note in your IDE
ulpi_live_sk_1234abcd...Lost your key? You can’t recover it, but you can:
- Revoke the old key
- Create a new one
- Update your AI tool config with the new key
Step 4: Configure Your AI Assistant
Connect ULPI to your favorite AI coding tool. Choose your AI assistant below and follow the setup:- Claude Desktop (Recommended)
- Cursor
- Windsurf
- VSCode (Continue / Cline)
- Claude Code (CLI)
- Other AI Tools
Anthropic’s official AI assistant with best ULPI integrationTotal time: 2 minutesDetailed Claude Desktop guide →
Add ULPI MCP Server
Edit Replace
claude_desktop_config.json:ulpi_live_YOUR_KEY_HERE with your actual API key from Step 3.Already have other MCP servers?
Already have other MCP servers?
Add ULPI to existing config:Just add the
ulpi-docs block to your existing mcpServers object.Step 5: Test Your First Search
Verify everything works!Open Your AI Assistant
Launch the AI tool you configured in Step 4:
- Claude Desktop
- Cursor
- VSCode with Continue/Cline
- etc.
Ask a Documentation Question
Try these example queries:
Ask in plain English! ULPI understands natural language—no need for exact keywords.
Verify Results
Your AI assistant should:✅ Search ULPI automatically (you won’t see this, it happens behind the scenes)✅ Return relevant documentation excerpts from your repositories✅ Include source file links like:✅ Provide context-aware answers using YOUR project’s patterns✅ Cite multiple sources if the answer spans multiple docs
Success looks like: AI responds with specific details from your actual documentation, not generic advice.
Troubleshooting
🚨 AI Assistant Doesn't Search ULPI
🚨 AI Assistant Doesn't Search ULPI
Symptom: AI gives generic answers instead of searching your docs.Fixes:
-
Check MCP server connection:
- Claude Desktop: Look for 🔌 icon in bottom toolbar
- Cursor: Check Settings → MCP Servers shows “Connected”
- VSCode: Continue/Cline should show “ulpi-docs” in status
-
Verify API key format:
Common errors:
-
Check MCP server logs:
- macOS:
~/Library/Logs/Claude/mcp.log - Windows:
%APPDATA%\Claude\Logs\mcp.log - Linux:
~/.config/Claude/logs/mcp.log
- macOS:
-
Restart AI assistant:
- Fully quit (don’t just close window)
- Reopen and try again
- Config changes only load on full restart
⏱️ Indexing Taking Too Long
⏱️ Indexing Taking Too Long
Symptom: Repository stuck at “Indexing…” for >30 minutes.Normal indexing times:
- Less than 100 files: 30 seconds - 2 minutes
- 100-1,000 files: 2-5 minutes
- 1,000-10,000 files: 5-15 minutes
- 10,000+ files: 15-30 minutes
-
Check repository size:
- Dashboard → Repositories → Click repo name
- See “Files discovered” count
- Large repos (10,000+ files) can take 30-45 minutes
-
Check for errors:
- Look for ⚠️ warning icon next to repository
- Click for error details
- Common issues:
- Binary files causing slowdown (auto-excluded, but takes time to detect)
- Network issues accessing GitHub
- Very large markdown files (>5MB)
-
Force re-index:
- Dashboard → Repositories → Click ⟳ Re-index button
- This restarts the indexing process
- Sometimes resolves stuck states
-
Contact support:
- If stuck >1 hour: support@ulpi.io
- Include: repository name, size, approximate file count
🔍 Search Returns No Results
🔍 Search Returns No Results
Symptom: AI says “I couldn’t find documentation about that” or returns empty results.Possible causes:
-
Indexing not complete:
- Dashboard → Repositories → Check status
- Wait for ”✅ Indexed” status
- Usually takes 2-5 minutes
-
Documentation doesn’t exist:
- Verify your repos actually have docs about that topic
- Check if docs use different terminology
- Example: You ask about “authentication” but docs say “auth” or “login”
-
Wrong repository scope:
- API key might be scoped to specific repos
- Dashboard → Settings → API Keys → Check scopes
- Expand scope or use different key
-
Query too vague:
- ❌ “How does it work?”
- ✅ “How does authentication work?”
- ✅ “Explain our Redis caching strategy”
- Be specific!
-
Files excluded by default:
- Check
.ulpiignorefile in repository - Dashboard → Repositories → Click repo → See “Excluded patterns”
- Adjust exclusions if needed
- Check
🔑 API Key Issues
🔑 API Key Issues
Symptom: “Invalid API key” or authentication errors.Fixes:
-
Verify key format:
-
Check environment match:
- API key environment (
livevstest) - MCP server environment
- Dashboard shows environment per key
- API key environment (
-
Verify key not revoked:
- Dashboard → Settings → API Keys
- Check key status is “Active” (not “Revoked”)
- If revoked, create a new key
-
Test API key directly:
Expected response:Error response:
💾 Token Limit Exceeded
💾 Token Limit Exceeded
Symptom: “You’ve exceeded your monthly token limit” error.Solutions:
-
Check current usage:
- Dashboard → Usage & Billing
- See tokens used vs. plan limit
- View usage by day/week/month
-
Upgrade plan:
- Starter (100k) → Professional (500k)
- Professional → Enterprise (2M)
- Settings → Billing → Change Plan
-
Buy token overage:
- $20 per 100,000 additional tokens
- No service interruption
- Automatically billed at end of month
- Dashboard → Usage → “Buy More Tokens”
-
Set usage alerts:
- Dashboard → Settings → Usage Alerts
- Get notified at 50%, 75%, 90% of limit
- Prevents surprises
-
Optimize searches:
- Be more specific in queries (returns less data)
- Scope searches to specific repositories
- Avoid overly broad questions
🔒 Repository Access Denied
🔒 Repository Access Denied
Symptom: “Access denied” when trying to search private repositories.Fixes:
-
Re-authenticate with GitHub:
- Dashboard → Settings → Integrations
- Click “Reconnect GitHub”
- Grant access to private repositories
-
Check organization approval:
- GitHub org admin must approve ULPI app
- Ask admin to:
- Go to
github.com/organizations/YOUR_ORG/settings/oauth_application_policy - Find “ULPI Documentation”
- Click “Grant access”
- Go to
-
Verify API key scope:
- Dashboard → Settings → API Keys
- Click key name → View scopes
- Ensure key has access to that repository
-
Repository permissions:
- You must have at least “Read” access to repo in GitHub
- Org admins can grant access via GitHub teams
🌐 Network / Firewall Issues
🌐 Network / Firewall Issues
Symptom: Connection timeouts or “Cannot reach ULPI API” errors.Enterprise network fixes:
-
Whitelist ULPI domains:
-
Allow outbound HTTPS (port 443):
- ULPI MCP server needs to reach
api.ulpi.io:443 - Check corporate firewall rules
- ULPI MCP server needs to reach
-
Proxy configuration:
-
VPN conflicts:
- Try disconnecting VPN temporarily
- If works without VPN, configure VPN to allow ULPI
-
Test connectivity:
Expected: HTTP 200 OK Error: Connection timeout or refused
- Error message screenshot
- MCP server logs
- API key (first/last 4 characters only)
- AI tool and OS you’re using
What’s Next?
Advanced Search Features
Master semantic search, filters, and query optimizationLearn: Cross-repo search, branch filtering, date ranges, file type filters
How It Works (Technical Deep Dive)
Understand the architecture behind ULPI’s semantic searchLearn: Vector embeddings, Typesense, chunking strategies, indexing pipeline
Repository Management
Add more repositories, configure indexing, manage webhooksLearn: Multi-repo strategies,
.ulpiignore, custom exclusions, wiki integrationAPI Integration
Integrate ULPI directly into your applications via REST APILearn: Direct API access, custom search UIs, workflow automation
Success Story
Your team’s documentation is searchable now. Time to see the same transformation.Need help? We’re here for you:
- 📧 Email: support@ulpi.io
- 📚 Docs: docs.ulpi.io
- 💬 Slack Community: ulpi.io/slack
- 🐛 Bug Reports: github.com/ulpi-io/feedback