plam-circle/developer-web-mcp-server
If you are the rightful owner of developer-web-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
An MCP server for managing and analyzing code in Circle's developer-web project.
Developer Web MCP Server
An MCP (Model Context Protocol) server for Circle's developer-web project management and code analysis.
Features
This MCP server provides tools for:
- File Search: Search for files by pattern across the monorepo
- Component Discovery: Find React components by name or directory
- GraphQL Schema Analysis: Get and analyze GraphQL schemas
- Project Structure: Visualize the project structure and file organization
- Test File Discovery: Find unit, integration, and e2e test files
- Package Management: Analyze dependencies and package relationships
- Git Integration: Get git diffs and analyze changes between branches
- PR Description Generation: Generate AI-powered pull request descriptions
Installation
- Clone this repository:
git clone https://github.com/plam-circle/developer-web-mcp-server.git
cd developer-web-mcp-server
- Install dependencies:
npm install
- Build the project:
npm run build
Usage
Development Mode
Run the server in development mode with hot reloading:
npm run dev
Production Mode
Build and run the server:
npm run build
npm start
Testing with MCP Inspector
Use the MCP Inspector to test your server:
npm run inspect
Configuration
Environment Variables
The server requires the PROJECT_ROOT environment variable to be set to the path of your developer-web project.
Create a .env file in the project root:
# .env
PROJECT_ROOT=/path/to/your/developer-web
MCP Configuration
Add this server to your .cursor/mcp.json:
{
"mcpServers": {
"developer-web-mcp": {
"command": "node",
"args": ["/path/to/developer-web-mcp-server/dist/index.js"],
"env": {
"PROJECT_ROOT": "/path/to/developer-web"
}
}
}
}
Or use the npm script with environment variables:
{
"mcpServers": {
"developer-web-mcp": {
"command": "npm",
"args": ["run", "start:env"],
"cwd": "/path/to/developer-web-mcp-server",
"env": {
"PROJECT_ROOT": "/path/to/developer-web"
}
}
}
}
Available Tools
search_files
Search for files matching a pattern in the developer-web project.
Parameters:
pattern(string): Glob pattern to search for filesdirectory(string, optional): Directory to search in (default: project root)
find_components
Find React components in the project.
Parameters:
name(string, optional): Component name to search fordirectory(string, optional): Directory to search in (default: 'apps,packages')
get_graphql_schemas
Get all GraphQL schema files in the project.
Parameters:
feature(string, optional): Specific feature to get schemas for
get_project_structure
Get the project structure and file counts.
Parameters:
directory(string, optional): Directory to analyze (default: project root)maxDepth(number, optional): Maximum depth to traverse (default: 3)
find_test_files
Find test files in the project.
Parameters:
type(string, optional): Type of test files ('unit', 'integration', 'e2e', 'all')
get_package_info
Get information about packages in the project.
Parameters:
package(string, optional): Specific package name to get info for
get_git_diff
Get the git diff between current HEAD and master branch, including changed files and commit messages.
Parameters:
branch(string, optional): Branch to compare against (default: master)includeDiff(boolean, optional): Whether to include the actual diff content (default: true)includeCommits(boolean, optional): Whether to include commit messages (default: true)
generate_pr_description
Generate a pull request description using AI based on git diff and GitHub PR template.
Parameters:
branch(string, optional): Branch to compare against (default: master)includeDiff(boolean, optional): Whether to include the actual diff in the AI generation (default: false)template(string, optional): Custom template to use instead of .github/pull_request_template.mdjiraTicket(string, optional): JIRA ticket ID (e.g., 'DEV-5635') to include as a link in the PR description
get_pr_ai_prompt
Get a clean AI prompt for generating PR descriptions that can be copied to Cursor AI.
Parameters:
branch(string, optional): Branch to compare against (default: master)includeDiff(boolean, optional): Whether to include the actual diff in the AI generation (default: false)jiraTicket(string, optional): JIRA ticket ID (e.g., 'DEV-5635') to include as a link in the PR description
PR Description Generation
The server includes powerful tools for generating pull request descriptions:
Using AI Prompts
The get_pr_ai_prompt tool generates a clean prompt that you can copy and paste into Cursor's AI chat to generate professional PR descriptions.
Template Integration
The tools automatically read your .github/pull_request_template.md file and use it as a structure for generating descriptions.
Git Integration
All PR tools analyze your git changes, including:
- Changed files
- Commit messages
- Git diff (optional)
- Branch comparison
Example Usage
-
Get AI Prompt for Cursor:
Use get_pr_ai_prompt with your JIRA ticket ID -
Generate PR Description:
Use generate_pr_description with includeDiff=true for detailed analysis -
Get Git Diff:
Use get_git_diff to see what files have changed
Development
Project Structure
src/
├── index.ts # Main server implementation
├── tools/ # Individual tool implementations (future)
└── utils/ # Utility functions (future)
Adding New Tools
- Create a new tool in
src/index.tsusing theserver.tool()method - Define the tool's parameters and handler
- Test with
npm run devornpm run inspect
License
MIT