Code Reader Server
БесплатноНе проверенAn MCP server that connects to your GitHub repositories, detects API changes, and provides context for Cursor to automatically generate test cases.
Описание
An MCP server that connects to your GitHub repositories, detects API changes, and provides context for Cursor to automatically generate test cases.
README
An MCP (Model Context Protocol) server that connects to your GitHub repositories, detects API changes, and provides context for Cursor to automatically generate test cases.
Features
- 🔍 Detect API Changes: Compare branches/commits to find new or modified API endpoints
- 📂 Multi-Service Support: Configure multiple services with their automation repos
- 🔗 GitHub Integration: Fetch file contents, commits, PRs directly from GitHub
- 📝 Test Templates: Get starter templates for REST, GraphQL, and gRPC APIs
- 🤖 Cursor Integration: Provides tools that Cursor can use to understand your API changes
Configured Services
This MCP server is configured for the following Bliklan services:
| Service | Repository |
|---|---|
| bliklan-campaign-management | gdncomm/bliklan-campaign-management |
| bliklan-tracker-aggregator | gdncomm/bliklan-tracker-aggregator |
| bliklan-compute-engine | gdncomm/bliklan-compute-engine |
| bliklan-credit | gdncomm/bliklan-credit |
| bliklan-ads-engine | gdncomm/bliklan-ads-engine |
Prerequisites
- Node.js 18+ (we recommend using nvm)
- npm (comes with Node.js)
- GitHub Fine-Grained Personal Access Token (required for gdncomm org)
- Cursor IDE
Check Your Node.js Version
node --version
# Should be v18.x.x or higher (v20.x or v21.x recommended)
If you're using an older version, install a newer one via nvm:
nvm install 21
nvm use 21
nvm alias default 21
Quick Start
Step 1: Clone the Repository
git clone <repository-url>
cd api-test-mcp-server
Step 2: Install Dependencies
npm install
Step 3: Build the Server
npm run build
This creates the dist/index.js file that Cursor will run.
Step 4: Create a GitHub Fine-Grained Token
⚠️ Important: The gdncomm organization requires a fine-grained personal access token (classic tokens won't work).
- Go to: https://github.com/settings/tokens?type=beta
- Click "Generate new token"
- Configure:
- Token name:
api-test-mcp-server - Expiration: Choose appropriate duration
- Resource owner: Select
gdncommorganization - Repository access: Select "Only select repositories" → choose the repos you need
- Permissions (Repository permissions):
- Contents: Read-only
- Metadata: Read-only
- Pull requests: Read-only
- Commit statuses: Read-only
- Token name:
- Click Generate token
- Copy the token (starts with
github_pat_)
Step 5: Configure Cursor MCP
Create or edit ~/.cursor/mcp.json:
{
"mcpServers": {
"api-test-server": {
"command": "/path/to/your/node",
"args": ["/path/to/api-test-mcp-server/dist/index.js"],
"env": {
"GITHUB_TOKEN": "github_pat_your_token_here",
"DEFAULT_BASE_BRANCH": "master",
"SERVICES_CONFIG": "[{\"name\":\"bliklan-campaign-management\",\"repoOwner\":\"gdncomm\",\"repoName\":\"bliklan-campaign-management\",\"automationRepoPath\":\"/Users/yourname/automation-repos/bliklan-campaign-management\",\"apiPatterns\":[\"**/controllers/**\",\"**/routes/**\",\"**/api/**\",\"**/*Controller*\",\"**/*Router*\"]},{\"name\":\"bliklan-tracker-aggregator\",\"repoOwner\":\"gdncomm\",\"repoName\":\"bliklan-tracker-aggregator\",\"automationRepoPath\":\"/Users/yourname/automation-repos/bliklan-tracker-aggregator\",\"apiPatterns\":[\"**/controllers/**\",\"**/routes/**\",\"**/api/**\",\"**/*Controller*\",\"**/*Router*\"]},{\"name\":\"bliklan-compute-engine\",\"repoOwner\":\"gdncomm\",\"repoName\":\"bliklan-compute-engine\",\"automationRepoPath\":\"/Users/yourname/automation-repos/bliklan-compute-engine\",\"apiPatterns\":[\"**/controllers/**\",\"**/routes/**\",\"**/api/**\",\"**/*Controller*\",\"**/*Router*\"]},{\"name\":\"bliklan-credit\",\"repoOwner\":\"gdncomm\",\"repoName\":\"bliklan-credit\",\"automationRepoPath\":\"/Users/yourname/automation-repos/bliklan-credit\",\"apiPatterns\":[\"**/controllers/**\",\"**/routes/**\",\"**/api/**\",\"**/*Controller*\",\"**/*Router*\"]},{\"name\":\"bliklan-ads-engine\",\"repoOwner\":\"gdncomm\",\"repoName\":\"bliklan-ads-engine\",\"automationRepoPath\":\"/Users/yourname/automation-repos/bliklan-ads-engine\",\"apiPatterns\":[\"**/controllers/**\",\"**/routes/**\",\"**/api/**\",\"**/*Controller*\",\"**/*Router*\"]}]"
}
}
}
}
Important: Find Your Node Path
If you're using nvm, you need to use the full path to node:
# Find your node path
which node
# Example output: /Users/yourname/.nvm/versions/node/v21.5.0/bin/node
Use this full path in the "command" field.
Update Paths
Replace in the config:
/path/to/your/node→ Your actual node path (fromwhich node)/path/to/api-test-mcp-server→ Where you cloned this repo/Users/yourname/automation-repos/→ Your actual automation repos pathgithub_pat_your_token_here→ Your actual GitHub token
Step 6: Restart Cursor
Completely quit Cursor (Cmd+Q on macOS) and reopen it. The MCP server only loads at startup.
Step 7: Verify Setup
In Cursor, check Settings → Features → MCP Servers. You should see api-test-server with a green status.
If you see a red status, check the error message:
- "Cannot use import statement outside a module" → Wrong Node.js version (need 18+)
- "Service not found" → SERVICES_CONFIG not set correctly
- "Bad credentials" → GitHub token is invalid or expired
Available Tools
Once configured, you can ask Cursor to use these tools:
| Tool | Description | Example |
|---|---|---|
list_services |
List all configured services | "List all services" |
get_recent_commits |
Get recent commits for a service | "Get recent commits for bliklan-campaign-management" |
get_api_changes |
Get API changes between branches | "Get API changes between master and feature/xyz" |
get_api_details |
Get full content of an API file | "Get the StoreAdsCampaignController.java file" |
get_pull_requests |
Get PRs for a service | "Show open PRs for bliklan-credit" |
analyze_api_endpoint |
Extract endpoint definitions from a file | "Analyze endpoints in UserController.java" |
get_test_template |
Get a test template for REST/GraphQL/gRPC | "Get a REST test template" |
compare_branches |
Compare branches and summarize changes | "Compare master and release/SP22" |
Usage Examples
Example 1: List Services and Get Recent Commits
Use the api-test-server to list services, then get recent commits for bliklan-campaign-management
Example 2: Find API Logic
Use the api-test-server to find the logic for storeads/save-campaign API in bliklan-campaign-management
Example 3: Check Recent Changes
Get the recent commits for bliklan-credit service and show me any API-related changes
Example 4: Analyze API File
Use the MCP server to get the content of src/main/java/com/gdn/bliklan/campaignmanagement/controller/StoreAdsCampaignController.java from bliklan-campaign-management
Example 5: Compare Branches
Compare master and release/SP22_RELEASE_01 branches in bliklan-campaign-management to find API changes
Testing the MCP Server
Simply ask Cursor to use the tools (this is the normal workflow).
MCP Server Shows Red Status
- Check Cursor Developer Tools: Help → Toggle Developer Tools → Console
- Look for error messages related to "mcp" or "api-test-server"
- Verify the node path is correct (use full path from
which node) - Make sure the dist/index.js file exists (run
npm run build)
No API Changes Detected
- Verify
apiPatternsmatch your file structure - Check if the branches you're comparing exist
- Try broader patterns like
**/*.javafor testing
Adding New Services
To add a new service, update the SERVICES_CONFIG in ~/.cursor/mcp.json:
or copy the file cp /Users/ruthsan/api-test-mcp-server/cursor-mcp-config.json ~/.cursor/mcp.json
{
"name": "new-service-name",
"repoOwner": "gdncomm",
"repoName": "new-service-repo",
"automationRepoPath": "/path/to/automation/new-service",
"apiPatterns": [
"**/controllers/**",
"**/routes/**",
"**/api/**",
"**/*Controller*"
]
}
Then restart Cursor.
API Patterns
Configure apiPatterns to match your codebase structure:
For Spring Boot (Java):
"apiPatterns": [
"**/controller/**",
"**/rest/**",
"**/*Controller.java",
"**/*Resource.java"
]
Development
Run in Development Mode
npm run dev
Watch for Changes
npm run watch
Build
npm run build
Project Structure
api-test-mcp-server/
├── src/
│ └── index.ts # Main MCP server implementation
├── dist/ # Compiled JavaScript (generated)
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── cursor-mcp-config.json # Example Cursor MCP configuration
├── config.example.json # Example service configuration
└── README.md # This file
Установка Code Reader Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/gdncomm-ruthsan-r/code-read-mcp-serverFAQ
Code Reader Server MCP бесплатный?
Да, Code Reader Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Code Reader Server?
Нет, Code Reader Server работает без API-ключей и переменных окружения.
Code Reader Server — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Code Reader Server в Claude Desktop, Claude Code или Cursor?
Открой Code Reader Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Code Reader Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
