代码上下文
  ](https://pypi.org/project/code-context/)
MCP(模型上下文协议)服务器,用于管理用于AI编码助手的API端点和代码上下文。
问题
当使用像Claude Code这样的人工智能编码助手时,您通常需要在编写代码时引用API端点。这需要:
- 反复搜索代码库
- 上下文切换导致的高令牌消耗
- 使用过时API信息的风险
- 手动跟踪端点规范
解决方案
代码上下文 自动扫描API端点并将其存储在矢量数据库中,从而启用:
- ✅ 即时查找 按端点名称或路由
- ✅ 语义搜索 通过描述端点的功能
- ✅ 完整规格 (标题、参数、响应)
- ✅ 始终保持最新状态 使用您的代码库
特性
- 🔍 自动扫描 Python FastAPI/Flask项目
- 💾 矢量存储器 配备Qdrant(嵌入式模式)
- 🔧 MCP集成 使用克劳德代码/桌面
- 📝 CRUD操作 用于端点管理
- 🚀 零配置设置 随着
pipx install - 🎯 可扩展 更多语言的架构
安装
快速入门(推荐)
# Step 1: Install code-context
pipx install code-context
# Step 2: Initialize configuration (run once)
code-context init
# Step 3: Install MCP client integration
code-context install-mcp这 install-mcp 向导将指导您完成以下操作:
- 选择您的AI编码助手平台
- 自动配置MCP集成
- 测试连接
手动安装(开发)
# Clone repository
git clone https://github.com/jieyefriic/code-context
cd code-context
# Install in development mode
pip install -e .
# Initialize configuration
code-context init
# Install MCP client
code-context install-mcpMCP客户端安装
代码上下文与 12+AI编码助手 通过模型上下文协议(MCP):
支持的平台: Claude Code•Cursor•Antigravity•Windsurf•Warp•Cline•VS Code Copilot•Copilot CLI•Amp•Gemini CLI•Codex•Factory CLI
快速安装
code-context install-mcp此交互式向导将自动配置您的AI助手。
手动安装
有关特定于平台的详细说明,请参阅 安装.md
快速链接:
用法
1.初始化(运行一次)
code-context init此向导将:
- 指导您选择LLM提供商(OpenAI、Gemini、DeepSeek等)
- 安全地配置API密钥
- 设置嵌入配置
- 在以下位置创建数据目录
~/.code-context/ - 初始化嵌入式Qdrant数据库
重要:在使用MCP服务器之前,必须完成此步骤。
2.扫描您的代码库
在克劳德代码中,问:
Scan my project directory for API endpoints或手动:
# In Python REPL
from code_context import tools
tools.scan_codebase("/path/to/your/project", language="python")3.查询端点
在Claude Code中,您现在可以问:
What's the user login endpoint specification?Show me all endpoints related to authenticationWhat parameters does the /api/users/:id endpoint accept?MCP工具
Claude Code提供以下工具:
search_endpoint
按名称或路由搜索端点
{
"name": "get_user", // Optional: exact name match
"route": "/api/users" // Optional: exact route match
}add_endpoint
手动添加端点
{
"name": "create_user",
"route": "/api/users",
"method": "POST",
"file_path": "/path/to/api.py",
"description": "Create a new user",
"parameters": {...},
"response_format": {...}
}scan_codebase
扫描目录中的终结点
{
"directory": "/path/to/project",
"language": "python"
}update_endpoint
更新现有终结点
{
"endpoint_id": "uuid-here",
"updates": {
"description": "Updated description"
}
}delete_endpoint
删除端点
{
"endpoint_id": "uuid-here"
}list_endpoints
列出所有存储的端点
{
"limit": 100
}支持的框架
当前
- ✅ Python:FastAPI,Flask
计划的
- 🔜 Node.js:Express、NestJS
- 🔜 围棋:金、艾蔻、迟
- 🔜 锈蚀:Axum、Actix
建筑
code-context/
├── src/code_context/
│ ├── server.py # MCP server core
│ ├── config.py # Configuration management
│ ├── tools/ # MCP tool implementations
│ ├── scanner/ # Code scanners (extensible)
│ │ ├── python.py # Python scanner
│ │ └── [future: go.py, rust.py, etc.]
│ └── database/ # Qdrant client wrapper
└── tests/配置
环境变量
# Custom data directory
export CODE_CONTEXT_DATA_DIR=~/.my-code-context
# Use remote Qdrant
export CODE_CONTEXT_QDRANT_URL=http://localhost:6333
export CODE_CONTEXT_QDRANT_API_KEY=your-key
# Collection settings
export CODE_CONTEXT_COLLECTION_NAME=my_endpoints
export CODE_CONTEXT_VECTOR_SIZE=1536查看当前配置
code-context info发展
设置
# Clone and install with dev dependencies
git clone https://github.com/jieyefriic/code-context
cd code-context
pip install -e ".[dev]"运行测试
pytest tests/代码格式化
black src/
ruff check src/延伸
添加新的语言扫描程序
创建 src/code_context/scanner/golang.py:
from . import BaseScanner
from ..database import Endpoint
class GoScanner(BaseScanner):
def can_handle(self, file_path):
return file_path.suffix == ".go"
def scan_file(self, file_path):
# Implement Go-specific scanning
endpoints = []
# ... parse Go code ...
return endpoints注册 scanner/python.py:
def get_scanner(language: str):
scanners = {
"python": PythonScanner,
"go": GoScanner, # Add here
}
# ...路线图
- \[x\] 基本MCP服务器
- \[x\] Python FastAPI/Flask扫描器
- \[x\] 嵌入式Qdrant存储
- \[\]语义搜索的LLM集成
- \[\]支持更多语言(Go、Rust、Node.js)
- \[\]用于端点管理的Web UI
- \[\]VS代码扩展名
- \[\]文件更改时自动重新扫描
- \[\]团队云托管版本
贡献
欢迎投稿!拜托:
- 复刻仓库
- 创建要素分支
- 进行更改
- 添加测试
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
常见问题解答
Q: 这适用于Claude Desktop吗?
A: 是的!它同时适用于Claude Code和Claude Desktop。
Q: 我可以使用远程Qdrant服务器吗?
A: 是,设置 CODE_CONTEXT_QDRANT_URL 环境变量。
Q: 代码更改时如何更新端点?
A: 重新运行 scan_codebase 在目录上。未来的版本将支持自动刷新。
Q: 我可以在非Python项目中使用它吗?
A: 还没有,但计划支持Go/Rust/Node.js。您可以使用手动添加端点 add_endpoint.
Q: 这会将我的代码发送到外部服务吗?
A: 不会。除非您配置了远程Qdrant服务器,否则所有内容都在本地运行。LLM集成(可选)将使用您的API密钥。
支持
______________________________________________________________________
由...制作❤️ 面向AI编码社区
