源代码树管理服务器

一个用于分析和管理源代码树的MCP服务器,提供文件、目录、代码指标和Git仓库信息的检索工具。

  • by maikgreubel
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 maikgreubel/SourceTreeMCP

使用说明

源树服务器

这是一个用于分析和管理源树的MCP(机器通信协议)服务器。服务器提供各种工具来检索有关文件、目录、代码度量和git存储库的信息。

特性

  • 文件管理:检索文件名、文件信息、文件内容和目录列表。
  • 语言检测:检测并统计不同编程语言中的文件数量。
  • Git集成:检索存储库信息、提交历史、差异,并按模式搜索提交。
  • 代码度量:分析代码度量,如代码总行数、每个文件的平均行数和圈复杂度。

依赖项

服务器需要以下定义的Python包 requirements.txt.

用法

要启动服务器,请运行以下命令:

python server.py --base-dir <path_to_source_tree> --mcp-host <host_name> --mcp-port <port_number> --transport <stdio|sse>
  • --base-dir:源代码目录的完整限定路径。
  • --mcp-host:要侦听的主机名(默认值:127.0.0.1)。
  • --mcp-port:要监听的端口(默认值:8082)。
  • --transport:使用哪种协议(默认:stdio)。

工具

服务器提供以下工具:

  • 获取文件:检索目录中的文件名列表。
  • 获取_文件_信息:检索有关文件的信息。
  • 获取_文件_内容:检索文件的内容。
  • get_directories:检索目录中的目录名列表。
  • get_languages:检索源代码树中使用的语言词典。
  • get_repo_info:检索有关git存储库的信息。
  • get_code_metrics:检索源代码树的代码度量。
  • get_line_counts:检索文件的行数。
  • get_last_n_commits:检索最后N个提交哈希值。
  • get_diff_for_comit:检索两次提交之间的差异。
  • search_commits_containing_change:搜索包含与模式匹配的更改的提交。

日志记录

服务器将信息记录到 server.log 如果它具有对当前工作目录的写访问权限。否则,它将登录到控制台。

贡献

欢迎投稿!请分叉存储库,并提交包含您的改进的pull请求。

值得注意的

有些模型比其他模型工作得更好。这里有一个小列表,已经成功尝试过,但存在一些问题:

  • bartowski/qwen2.5-coder-14b-structural blisted(Q4_K_S)在工具使用中表现良好。与MCP服务器交互并有效使用工具。
  • deepseek/deepseek-r1-0528-qwen3-8b(Q4_K_M)在调用工具时遇到问题。对工具的执行考虑很多,使用它们但没有注意到,它们会给出积极的反馈。