Crawls and indexes documentation from GitHub repositories, providing version-specific documentation and code examples for libraries hosted on GitHub.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Context7 MCP Cloneget documentation for React hooks with code examples"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Context7 MCP Clone - Up-to-Date Code Documentation for LLMs
A production-ready clone of Context7 MCP that provides up-to-date, version-specific documentation and code examples directly to LLMs and AI code editors.
π― Project Status
Phase 2 Complete: Core MCP Server and Backend API ready for development!
Completed Components
β pnpm monorepo with workspace configuration
β Docker Compose development and production environments
β PostgreSQL database schema with migrations
β NestJS backend API with authentication
β Library and documentation services
β MCP server with both tools (resolve-library-id, get-library-docs)
β Stdio and HTTP transports for MCP protocol
In Progress
π Rate limiting with Redis
π Crawler engine with GitHub API and web scraping
π Markdown and HTML parsing with code extraction
π Next.js web UI with Grafana theme
π¦ Project Structure
atamai-mcp/
βββ packages/
β βββ mcp-server/ # MCP Protocol Server
β βββ backend-api/ # NestJS REST API
β βββ crawler-engine/ # Documentation Crawler
β βββ web-ui/ # Next.js Frontend
βββ docker/ # Container configurations
βββ scripts/ # Utility scripts
βββ docker-compose.yml # Production compose
βββ docker-compose.dev.yml # Development compose
βββ PLAN.md # Detailed implementation plan
βββ TODO.md # Task checklist
βββ README.md # This fileπ Quick Start
Prerequisites
Node.js 20+
pnpm 8+
Docker & Docker Compose
PostgreSQL 16+ (or use docker-compose)
Development Setup
Clone and install dependencies
cd /Users/atamai/develope/atamai-mcp
pnpm installSet up environment
cp .env.example .env
# Edit .env with your configurationStart development environment with Docker
docker-compose -f docker-compose.dev.yml upThis starts:
PostgreSQL database on port 5432
Redis cache on port 6379
Backend API on port 5000
MCP Server on port 3000
Web UI on port 4000
Run migrations
# Migrations run automatically when backend starts
# Or manually run:
cd packages/backend-api
pnpm run migration:runπ MCP Server
Tools Available
1. resolve-library-id
Converts a library name to Context7-compatible ID and returns ranked results.
Input:
{
"libraryName": "react"
}Output:
{
"libraries": [
{
"id": "/facebook/react",
"name": "React",
"description": "A JavaScript library for building user interfaces",
"ecosystem": "javascript",
"stars": 220000,
"benchmarkScore": 98,
"reputation": "high",
"codeSnippets": 15420
}
],
"selected": "/facebook/react",
"reasoning": "Exact name match with highest benchmark score"
}2. get-library-docs
Retrieves version-specific documentation and code examples.
Input:
{
"context7CompatibleLibraryID": "/facebook/react",
"topic": "hooks",
"page": 1,
"mode": "code"
}Output:
{
"libraryId": "/facebook/react",
"library": {
"name": "React",
"full_name": "facebook/react",
"ecosystem": "javascript"
},
"version": "18.2.0",
"topic": "hooks",
"page": 1,
"totalPages": 5,
"documentation": [
{
"title": "Using the State Hook",
"type": "guide",
"content": "...",
"codeExamples": [
{
"language": "javascript",
"code": "const [count, setCount] = useState(0);",
"description": "Basic useState example"
}
],
"url": "https://react.dev/reference/react/useState"
}
]
}Running MCP Server
Stdio Mode (for Claude Desktop, Cursor, etc.)
cd packages/mcp-server
pnpm start
# Or with hot reload:
pnpm devHTTP Mode
MCP_TRANSPORT=http MCP_SERVER_PORT=3000 pnpm start
# Access SSE endpoint at: http://localhost:3000/mcp/sseπ Backend API
Authentication
Register
POST /api/v1/auth/register
Content-Type: application/json
{
"email": "user@example.com",
"password": "SecurePassword123!"
}Login
POST /api/v1/auth/login
Content-Type: application/json
{
"email": "user@example.com",
"password": "SecurePassword123!"
}Libraries
Search Libraries
GET /api/v1/libraries?query=react&ecosystem=javascript&page=1&limit=20
Authorization: Bearer <jwt_token>Get Library by ID
GET /api/v1/libraries/{id}
Authorization: Bearer <jwt_token>Get Available Ecosystems
GET /api/v1/libraries/ecosystems
Authorization: Bearer <jwt_token>Documentation
Get Documentation
GET /api/v1/docs/{libraryId}?topic=hooks&page=1&mode=code
Authorization: Bearer <jwt_token>Search Documentation
GET /api/v1/docs/search/{query}
Authorization: Bearer <jwt_token>Swagger Documentation
Once the backend is running, visit:
http://localhost:5000/docsπ Database Schema
Core Tables
users - User accounts with tier system
api_keys - API key management with rate limits
libraries - Library metadata
library_versions - Version tracking
documentation_pages - Documentation content with full-text search
code_examples - Code snippets
crawl_jobs - Crawler job tracking
api_usage - Usage analytics
Features
Full-text search on documentation
Trigram similarity for fuzzy matching
JSONB metadata support
Automatic tsvector updates
Materialized views for popular libraries
π Deployment
Production Docker Compose
docker-compose up -dEnvironment Variables
See .env.example for all available options:
DATABASE_URL- PostgreSQL connection stringREDIS_URL- Redis connection stringJWT_SECRET- JWT signing keyNODE_ENV- production/developmentAPI_PREFIX- API base path (default: /api/v1)
Kubernetes Deployment
Deploy manifests are in the plan for Phase 8.
π Development Roadmap
Phase 3: Crawler Engine (Weeks 5-6)
BullMQ job queue setup
GitHub crawler with Octokit
Documentation site scraper
Markdown/HTML parsers
Code extraction engine
Phase 4: Web UI (Weeks 7-8)
Next.js 15 setup with App Router
Landing page with purple gradient theme
Documentation browser
Authentication pages
Phase 5: Dashboard & Admin (Weeks 9-10)
User dashboard
API key management
Admin panel
Analytics and charts
Phase 6-10: Completion & Launch
Data seeding
Testing & optimization
Production deployment
Beta & public launch
π§ͺ Testing
# Run tests for all packages
pnpm test
# Run tests with coverage
pnpm test:cov
# Watch mode
pnpm test:watchπ Code Style
# Format code
pnpm format
# Check formatting
pnpm format:check
# Lint
pnpm lint
# Type check
pnpm type-checkπ Debugging
Backend API
DEBUG=* pnpm devMCP Server
DEBUG=* pnpm devDocker Logs
docker-compose -f docker-compose.dev.yml logs -f [service-name]π Documentation
PLAN.md - Comprehensive implementation plan with architecture
TODO.md - Detailed task checklist for all phases
API Docs - Available at
http://localhost:5000/docs(Swagger)
π€ Contributing
This is a solo development project. Please follow:
TypeScript strict mode
ESLint configuration
Prettier formatting
80%+ test coverage
π License
MIT
π― Key Metrics (Target)
Performance: MCP response <200ms (p95)
Search: <100ms (p95)
Uptime: 99.9%
Coverage: 100+ libraries by month 6
Users: 1000+ registered by month 3
Next Steps
Run
docker-compose -f docker-compose.dev.yml upWait for migrations to complete
Visit http://localhost:5000/docs for API documentation
Start using the MCP server with Claude Desktop or Cursor
Reference PLAN.md for detailed architecture and TODO.md for task tracking
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.