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