Token导航 LogoToken导航TokenDH.com
Repo MCP Server logo
开发工具stdio官方级别未说明来源级核验

Repo MCP Server

MCP Server

一个基于Model Context Protocol (MCP)的AI代码智能系统,用于存储、搜索和分析代码库的结构化知识,并与Claude Desktop无缝集成。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
代码分析代码搜索PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

malconip

提供方

malconip

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

🧠 存储库知识库-远程MCP服务器

![Python](https://www.python.org/) ![FastMCP](https://github.com/jlowin/fastmcp) ![MCP](https://modelcontextprotocol.io/) ![License](LICENSE)

AI驱动的代码智能系统 它通过模型上下文协议(MCP)将您的本地存储库与Claude Desktop连接起来。存储、搜索和分析有关代码库的结构化知识。

🚀 现在使用 可流式传输的HTTP 运输(官方推荐的协议) FastMCP 为了简化部署!

______________________________________________________________________

🎯 这是什么?

A. 远程MCP服务器 即:

  1. 🗄️ 商店 关于代码文件的结构化知识
  2. 🔍 搜索 通过摘要、依赖关系和标签
  3. 🧠 分析 文件和组件之间的关系
  4. 🤝 合并 与Claude Desktop无缝对接

体系结构

┌──────────────────┐         ┌─────────────────────┐
│  Claude Desktop  │ ◄─────► │  Filesystem MCP     │
│   (Local AI)     │         │  (Read local files) │
└────────┬─────────┘         └─────────────────────┘
         │
         │ Streamable HTTP (Single Endpoint!)
         ▼
┌─────────────────────────────────────────────┐
│     DigitalOcean App Platform ($5/mo)       │
│  ┌─────────────────────────────────────┐    │
│  │  Repository Knowledge Base (FastMCP)│    │
│  │  • Streamable HTTP on /mcp          │    │
│  │  • Stateless deployment             │    │
│  │  • 8 powerful tools                 │    │
│  └──────────────┬──────────────────────┘    │
└─────────────────┼───────────────────────────┘
                  │
┌─────────────────▼────────────────────────┐
│     Supabase PostgreSQL (FREE!)          │
│  • 500 MB database storage               │
│  • SSL/TLS encryption                    │
│  • Automatic backups                     │
│  • Connection pooling                    │
└──────────────────────────────────────────┘

为什么是流式HTTP?

  • 单端点 (/mcp)而不是多个端点
  • 无状态 -非常适合云平台
  • 官方标准 -SSE正在被弃用
  • 更简单 -配置更少,调试更容易

______________________________________________________________________

✨ 特性

🔧 8强大的工具

工具说明
index_file索引单个文件的知识
index_batch高效地索引多个文件
search_knowledge通过代码进行语义搜索
get_file_context获取完整的文件信息
find_related查找相关文件
search_by_type按文件类型过滤(二头肌、C#、Python等)
get_stats知识库统计
analyze_dependencies依赖图分析

📂 支持的文件类型

  • 基础设施:二头肌、Terraform、Helm、YAML
  • 后端:C#、Python、JavaScript、TypeScript
  • 开发运维:PowerShell、Bash、Dockerfile
  • 配置:JSON、ENV文件
  • 文档:Markdown

🏷️ 技术类别

  • 基础设施即代码
  • 后端开发
  • 前端开发
  • DevOps自动化
  • 测试
  • 文档
  • 配置

______________________________________________________________________

🚀 快速开始

先决条件

1.克隆和设置

git clone https://github.com/YOUR_USERNAME/repository-knowledge-base.git
cd repository-knowledge-base

# Copy environment template
cp .env.example .env

# Edit .env with your Supabase credentials
nano .env

2.设置数据库(2分钟)

  1. 在以下位置创建项目https://supabase.com/dashboard
  2. 从以下位置获取连接字符串: 设置→ 数据库→ 连接字符串→ URI
  3. 复制PostgreSQL连接字符串(带pooler的事务模式):
   postgresql://postgres.xxx:[YOUR-PASSWORD]@aws-0-us-east-1.pooler.supabase.com:6543/postgres
  1. 更新 DATABASE_URL 在你的 .env 文件

3.部署到DigitalOcean

  1. 将代码推送到GitHub
  2. 首选https://cloud.digitalocean.com/apps
  3. 创建应用程序→ 选择您的GitHub仓库
  4. 添加 加密的 环境变量:

- DATABASE_URL -您的Supabase连接字符串 - MCP_SECRET_KEY -生成方式: openssl rand -hex 32 - LOG_LEVEL - INFO - ALLOWED_ORIGINS - https://claude.ai

  1. 部署!

您的应用程序将在以下网址提供: https://your-app.ondigitalocean.app

4.连接克劳德桌面

对于使用Claude Pro/Max/Team/Enterprise的用户:

转到克劳德桌面→ 设置→ 连接器→ 添加自定义连接器

输入您的MCP端点URL:

https://your-app.ondigitalocean.app/mcp

对于没有Pro计划的用户(使用本地代理):

编辑: ~/Library/Application Support/Claude/claude_desktop_config.json (Mac)或 %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/your/repository/repos"
      ]
    },
    "repository-knowledge": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://your-app.ondigitalocean.app/mcp"
      ]
    }
  }
}

重新启动克劳德桌面 完全(Cmd+Q/文件→ 退出并重新打开)。

寻找🔨 锤子图标确认您的服务器已连接!

______________________________________________________________________

📖 用法示例

索引文件

Hey Claude, use the filesystem MCP to read /repository/azure-iac/main.bicep 
and index it in the repository-knowledge server.

克劳德将:

  1. 使用文件系统MCP在本地读取文件
  2. 提取关键信息(资源、依赖关系等)
  3. 使用Streamable HTTP存储在远程知识库中

搜索知识

Search the repository-knowledge for "Azure storage configuration"

退货:

  • 相关文件
  • 摘要
  • 关键要素
  • 依赖项

分析依赖关系

Analyze dependencies for /repository/IntakeAPI/Services/AuthService.cs

退货:

  • 直接依赖关系
  • 依赖项(依赖于此文件的内容)
  • 依赖深度

获取统计数据

Get stats from repository-knowledge

退货:

  • 索引的文件总数
  • 文件类型(二头肌、C#、Python等)
  • 按存储库列出的文件
  • 按技术分类的文件
  • 上次索引时间戳

______________________________________________________________________

🗂️ 项目结构

repository-knowledge-base/
├── main.py                    # FastMCP server with Streamable HTTP
├── database.py                # SQLAlchemy database layer
├── models.py                  # Pydantic models
├── config.py                  # Configuration management
├── requirements.txt           # Python dependencies (with FastMCP)
├── Procfile                   # DigitalOcean runtime config
├── app.yaml                   # App Platform specification
├── .env.example               # Environment template
├── README.md                  # This file
└── LICENSE                    # MIT License

______________________________________________________________________

🔧 配置

环境变量

变量描述必填
DATABASE_URL大写PostgreSQL连接字符串✅ 是的
MCP_SECRET_KEY安全密钥✅ 是的
ALLOWED_ORIGINSCORS来源(逗号分隔)否(默认值: https://claude.ai)
LOG_LEVEL日志记录级别否(默认值: INFO)
RATE_LIMIT_PER_HOURAPI费率限制否(默认值: 100)
MAX_FILE_SIZE_MB要索引的最大文件大小否(默认值: 10)

Supabase连接字符串格式

postgresql://postgres.[project-ref]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres

来自: Supabase仪表板→ 设置→ 数据库→ 连接字符串→ URI(事务模式)

______________________________________________________________________

📊 数据库模式

file_index 表格

类型描述
id整数主键
path字符串(500)完整文件路径(唯一)
repo字符串(100)存储库名称
file_type字符串(50)文件类型枚举
technology字符串(50)技术类别
summary文本文件用途摘要
key_elementsJSON重要元素(数组)
dependenciesJSON文件依赖关系(数组)
dependentsJSON依赖文件(数组)
tagsJSON可搜索标签(数组)
content_hash字符串(64)用于更改检测的内容哈希
indexed_atDateTime索引时间戳
file_metadataJSON附加元数据

指标:

  • idx_repo_filetype (repo,file_type)
  • idx_technology (技术)
  • idx_indexed_at (索引_at)
  • 唯一约束 path

______________________________________________________________________

🛣️ API终点

端点方法描述
/GET服务器信息
/healthGET使用统计数据进行健康检查
/mcp职位MCP可流式HTTP端点
/docsGETFastAPI自动生成文档

______________________________________________________________________

💰 成本细分

总计:$5/月

资源成本/月你得到什么
Supabase PostgreSQL$0500 MB存储空间、SSL、备份、池
数字海洋应用平台$5Python应用程序托管,SSL证书
总计$5完整的AI代码智能! 🎉

免费等级限制(Supabase)

  • 500 MB数据库存储
  • 无限制的API请求
  • 2 GB带宽
  • 50 MB文件存储空间
  • 7天备份保留期

足够容纳约50000个索引文件!

______________________________________________________________________

🧪 发展

在本地运行

# Install dependencies
pip install -r requirements.txt

# Set environment variables
export DATABASE_URL="your-supabase-connection-string"
export MCP_SECRET_KEY="your-secret-key"

# Run server
python main.py

# Server runs on: http://localhost:8000
# MCP endpoint: http://localhost:8000/mcp
# Health check: http://localhost:8000/health

测试终点

# Health check
curl http://localhost:8000/health

# Server info
curl http://localhost:8000/

# API docs (Swagger UI)
open http://localhost:8000/docs

本地测试MCP

# Install MCP inspector
pip install mcp-inspector

# Test your server
mcp-inspector http://localhost:8000/mcp

______________________________________________________________________

🆘 故障排除

“连接被拒绝”或“超时”

检查:

  1. ✅ 您的Supabase项目状态是否为“活动”?
  2. ✅ 你更换了吗 [YOUR-PASSWORD] 在连接字符串中?
  3. ✅ 连接字符串的格式是否正确?
  4. ✅ 你在用 池化器 连接(端口6543)?

测试连接:

psql "postgresql://postgres:password@aws-0-region.pooler.supabase.com:6543/postgres"

“密码验证失败”

解决方案:

  1. 前往Supabase→ 设置→ 数据库
  2. 点击“重置数据库密码”
  3. 使用新密码更新DATABASE_URL
  4. 重新部署您的DigitalOcean应用程序

DigitalOcean中的“健康检查失败”

检查日志:

Apps → Your App → Runtime Logs

查找数据库连接错误或缺少的环境变量。

Claude Desktop未显示工具

检查:

  1. ✅ 完全重新启动Claude Desktop(退出并重新打开)
  2. ✅ 寻找🔨 克劳德的锤子图标
  3. ✅ 检查克劳德桌面日志: ~/Library/Logs/Claude/ (Mac)
  4. ✅ 验证您的MCP端点是否可访问: curl https://your-app.ondigitalocean.app/health

______________________________________________________________________

🔄 从SSE迁移到流式HTTP

如果你有旧的SSE版本,以下是变化:

旧(SSE):

# Multiple endpoints
@app.get("/sse")  # SSE connection
Mount("/messages/", sse_transport.handle_post_message)  # Message handler

新(流式HTTP):

# Single endpoint
app.mount("/mcp", mcp.streamable_http_app())  # Everything handled here!

优点:

  • ✅ 1个端点,而不是2个
  • ✅ 无状态(更适合云)
  • ✅ 配置更简单
  • ✅ 官方标准

______________________________________________________________________

🤝 贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

______________________________________________________________________

📄 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

______________________________________________________________________

🙏 致谢

______________________________________________________________________

📚 额外资源

______________________________________________________________________

📞 支持

  • 🐛 问题:
  • 💬 讨论:

______________________________________________________________________

内置❤️ Malcon Albuquerque为Emperion项目撰写

技术支持: FastMCP+超级数据库(PostgreSQL)+数字海洋(托管)+人工MCP

🚀 现在有了流式HTTP——MCP的未来!

目录标签

目录标签

代码分析代码搜索PythonClaude本地部署知识管理AI集成依赖分析

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP