Code Intelligence MCP
An MCP server that recommends UI components and utility methods from private code repositories using AI to enhance code reuse and development efficiency.
README
Code Intelligence MCP
Intelligent code suggestion MCP service that provides AI-powered component and utility method recommendations for AI IDEs.
Introduction
This is an intelligent code suggestion service based on Model Context Protocol (MCP). It analyzes user requirements through AI and recommends the most suitable components and utility methods from private code repositories, helping developers improve code reuse and development efficiency.
Core Capabilities
π¨ UI Component Intelligent Recommendation
- Analyze UI development requirements (pages, forms, interfaces, etc.)
- Match the most relevant private components from the knowledge base
- Generate optimized prompts with component imports and usage
- Provide complete implementation guides and code examples
π§ Utility Method Intelligent Recommendation
- Analyze logic function requirements (data processing, format conversion, utility functions, etc.)
- Find reusable utility methods from the method knowledge base
- Generate optimized prompts with method imports and invocation
- Avoid reinventing the wheel and improve code quality
Features
Intelligent Analysis Engine
- Requirement Understanding: Deep understanding of user development intentions based on AI
- Keyword Extraction: Automatically identify core elements in requirements
- Complexity Assessment: Intelligently evaluate implementation difficulty and component fit
Knowledge Base Management
- Component Knowledge Base: Manage private UI component library (props, events, slots, examples)
- Method Knowledge Base: Manage utility method library (parameters, return values, types, usage)
- Relevance Algorithm: Calculate recommendation scores based on semantic matching
Prompt Optimization
- Bidirectional Optimization: Support prompt redesign for both component and method scenarios
- Structured Output: Generate complete solutions including import statements and implementation steps
- Best Practices: Integrate code standards and usage recommendations
Project Structure
code-intelligence-mcp/
βββ src/
β βββ core/ # Core functional modules
β β βββ knowledge-base.ts # Component knowledge base management
β β βββ utility-knowledge-base.ts # Utility method knowledge base management
β β βββ prompt-redesigner.ts # UI component prompt redesign
β β βββ logic-prompt-redesigner.ts # Logic method prompt redesign
β β βββ ai-suggester.ts # AI component recommendation engine
β β βββ ai-utility-suggester.ts # AI method recommendation engine
β β βββ index.ts
β βββ config/ # Configuration management
β β βββ model-manager.ts # AI model manager
β β βββ ai-client-adapter.ts # AI client adapter
β β βββ types.ts # Configuration type definitions
β β βββ index.ts
β βββ tools/ # MCP tool definitions
β β βββ suggestion.ts # Component suggestion tool
β β βββ utility-suggestion.ts # Method suggestion tool
β β βββ query.ts # Query tool
β β βββ index.ts
β βββ resources/ # MCP resource definitions
β β βββ index.ts
β βββ types/ # Type definitions
β β βββ mcp-types.ts
β βββ utils/ # Utility functions
β β βββ logger.ts # Logger utility
β β βββ ai-caller.ts # AI unified caller
β β βββ path-utils.ts # Path resolution utilities
β β βββ index.ts
β βββ mcp-server.ts # MCP server main entry
βββ ci-mcp-data/ # Configuration data (user-specific)
β βββ components.example.json # UI component knowledge base example
β βββ utils.example.json # Utility method knowledge base example
β βββ config.example.json # AI model configuration example
βββ scripts/ # Script tools
β βββ setup.js # Setup script
β βββ start.sh # Startup script
βββ package.json
βββ tsconfig.json
βββ .npmignore # NPM publish exclusions
Installation and Usage
Method 1: Use with npx (Recommended)
This is the recommended way for using the MCP server with AI IDEs like Claude Desktop.
Step 1: Prepare Configuration Files
Create a configuration directory (recommended location: ~/.config/ci-mcp):
mkdir -p ~/.config/ci-mcp
Download or create the following three configuration files:
config.json- AI model configurationcomponents.json- UI component knowledge baseutils.json- Utility method knowledge base
You can find example files in the npm package or repository.
Step 2: Configure AI IDE
Add to your AI IDE configuration (e.g., Claude Desktop's claude_desktop_config.json):
{
"mcpServers": {
"code-intelligence": {
"command": "npx",
"args": ["-y", "code-intelligence-mcp"],
"env": {
"CI_MCP_DATA_DIR": "~/.config/ci-mcp"
}
}
}
}
Environment Variables:
CI_MCP_DATA_DIR(Recommended): Specify the configuration directory, all three files will be loaded from this directoryCI_MCP_CONFIG: Directly specify the path toconfig.jsonCI_MCP_COMPONENTS: Directly specify the path tocomponents.jsonCI_MCP_UTILS: Directly specify the path toutils.json
Path Formats Supported:
- Absolute path:
/Users/xxx/.config/ci-mcp - Home directory:
~/.config/ci-mcpor$HOME/.config/ci-mcp - Environment variables:
${MY_CONFIG_DIR}/ci-mcp
Step 3: Restart AI IDE
Restart your AI IDE (e.g., Claude Desktop), and the MCP service will start automatically via npx.
Method 2: Local Development
Prerequisites
Configure Knowledge Base Data Files
The project requires manual configuration of the following data files in ci-mcp-data/ directory:
-
ci-mcp-data/config.json- AI model configuration (including API Key)cp ci-mcp-data/config.example.json ci-mcp-data/config.json # Edit config.json and fill in your API Key -
ci-mcp-data/components.json- UI component knowledge basecp ci-mcp-data/components.example.json ci-mcp-data/components.json # Edit components.json based on your private component library- Add component information following the existing format:
description,import,relativePath, etc.
- Add component information following the existing format:
-
ci-mcp-data/utils.json- Utility method knowledge basecp ci-mcp-data/utils.example.json ci-mcp-data/utils.json # Edit utils.json based on your utility method library- Include method information:
description,import,params,returns, etc.
- Include method information:
Note:
config.jsoncontains sensitive information (API Key) and is added to.gitignore, will not be committed to the repositorycomponents.jsonandutils.jsonneed to be configured based on your actual code repository- Refer to example files like
config.example.jsonfor configuration format
Install Dependencies
pnpm install
Development Mode
pnpm dev
Build
pnpm build
Production Mode
pnpm start:prod
MCP Tools
π¨ UI Component Suggestion Tools
1. suggest_components
Intelligently analyze UI development requirements and recommend the most suitable private components.
Use Cases:
- Create pages, forms, interfaces and other UI features
- Quick development using private component library
- Get complete implementation solutions
Input Parameters:
{
prompt: string; // User requirement description, e.g. "Create user login page"
}
Output:
- Requirement Analysis: Keywords, component types, complexity assessment
- Suggested Components: Component list + relevance score + recommendation reason
- Optimized Prompt: Including specific component imports and usage
- Implementation Guide: Step-by-step development suggestions
Example:
// Input
{"prompt": "Generate a user information edit form"}
// Output
{
"analysis": {
"keywords": ["form", "edit", "user information"],
"componentTypes": ["form", "input", "button"]
},
"suggestedComponents": [
{
"name": "das-form",
"relevance": 0.95,
"reason": "Most suitable for user information editing scenarios"
}
],
"redesignedPrompt": "Create using das-form component...",
"implementationGuide": "1. Import component...\n2. Configure form fields..."
}
2. query_component
Query detailed information of a specific component.
Input Parameters:
{
componentName: string; // Component name, e.g. "das-button"
}
Output:
- Component description, category, tags
- Props parameter list
- Events list
- Slots description
- Usage example code
- Import path
π§ Utility Method Suggestion Tools
1. suggest_utilities
Intelligently analyze logic development requirements and recommend reusable utility methods.
Use Cases:
- Implement data processing and format conversion functions
- Need encryption, validation and other utility functions
- Avoid reinventing the wheel
Input Parameters:
{
prompt: string; // Logic requirement description, e.g. "Need to format numbers with thousand separators"
}
Output:
- Requirement Analysis: Key function points, method types
- Suggested Methods: Method list + relevance score + recommendation reason
- Optimized Prompt: Including method imports and invocation
- Implementation Guide: Usage steps and notes
Example:
// Input
{"prompt": "Implement password encryption function"}
// Output
{
"analysis": {
"keywords": ["encryption", "password", "security"],
"methodTypes": ["encryption", "security"]
},
"suggestedUtilities": [
{
"name": "encryptPassword",
"relevance": 0.98,
"reason": "Provides MD5/SHA256 password encryption"
}
],
"redesignedPrompt": "Use encryptPassword method...",
"implementationGuide": "1. Import method...\n2. Call encryption..."
}
2. query_utility
Query detailed information of a specific utility method.
Input Parameters:
{
utilityName: string; // Method name, e.g. "formatNumber"
}
Output:
- Method description, category, type
- Parameter list (parameter name, type, description)
- Return value type and description
- Usage example code
- Import path
MCP Resources
code-intelligence://component-library
Component Library Resource
Provides complete private component library information, including:
- List of all available components
- Component categories and tags
- Component capability overview
code-intelligence://utility-library
Utility Method Library Resource
Provides complete utility method library information, including:
- List of all available methods
- Method categories and functions
- Method capability overview
code-intelligence://usage-guide
Usage Guide Resource
Includes:
- MCP tools usage instructions
- Best practice recommendations
- FAQs
- Integration configuration guide
Tech Stack
Core Framework
- TypeScript - Type-safe development
- Node.js - Runtime environment
- MCP SDK (@modelcontextprotocol/sdk) - Model Context Protocol implementation
AI Integration
- Vercel AI SDK - Unified AI interface
- OpenAI - GPT series model support
- Anthropic - Claude series model support
- DeepSeek - Domestic large model support
Development Tools
- pnpm - Package manager
- tsx - TypeScript executor
- ESLint + Prettier - Code standards
- Husky - Git hooks
Development Standards
- Use TypeScript for type-safe development
- Follow ESLint and Prettier code standards
- Use Husky for Git hooks management
Configuration
1. MCP Service Configuration (mcp-config.json)
Register MCP service in AI IDE:
{
"mcpServers": {
"code-intelligence": {
"command": "/bin/zsh",
"args": ["/path/to/code-intelligence-mcp/scripts/start.sh"]
}
}
}
2. AI Model Configuration (data/config.json)
Configure AI models used by the recommendation engine:
{
"defaultModel": "claude-3-7-sonnet-latest",
"providers": [
{
"provider": "anthropic",
"models": [
{
"model": "claude-3-7-sonnet-latest",
"title": "Claude 3.7 Sonnet",
"baseURL": "https://api.302.ai/v1",
"apiKey": "your-api-key"
}
]
},
{
"provider": "openai",
"models": [
{
"model": "gpt-4o",
"title": "GPT-4o",
"baseURL": "https://api.openai.com/v1",
"apiKey": "your-api-key"
}
]
}
]
}
Configuration Description:
defaultModel: Default model name to use, must exist inprovidersproviders: List of supported AI providersprovider: Provider type (anthropic,openai,deepseek,ollama)models: List of model configurations for this providermodel: Model name (must matchdefaultModel)title: Model display namebaseURL: API endpoint addressapiKey: API key
Supported Providers:
anthropic- Claude series modelsopenai- GPT series modelsdeepseek- DeepSeek domestic modelsollama- Local models
3. Knowledge Base Data
Component Knowledge Base (data/components.json)
{
"components": [
{
"name": "das-button",
"description": "Button component",
"category": "Basic component",
"tags": ["button", "interaction"],
"props": [...],
"events": [...],
"example": "..."
}
]
}
Utility Method Knowledge Base (data/utils.json)
{
"utilities": [
{
"name": "formatNumber",
"description": "Format number with thousand separators",
"category": "Formatting",
"type": "formatter",
"params": [...],
"returns": {...},
"example": "..."
}
]
}
License
MIT
Contributing
We welcome contributions! Please see CONTRIBUTING.md for details on how to contribute to this project.
Changelog
See CHANGELOG.md for version history and release notes.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.