源树服务器
这是一个用于分析和管理源树的MCP(机器通信协议)服务器。服务器提供各种工具来检索有关文件、目录、代码度量和git存储库的信息。
特性
- 文件管理:检索文件名、文件信息、文件内容和目录列表。
- 语言检测:检测并统计不同编程语言中的文件数量。
- Git集成:检索存储库信息、提交历史、差异,并按模式搜索提交。
- 代码度量:分析代码度量,如代码总行数、每个文件的平均行数和圈复杂度。
依赖项
服务器需要以下定义的Python包 requirements.txt.
用法
要启动服务器,请运行以下命令:
python server.py --base-dir
--mcp-host --mcp-port
--transport --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)在调用工具时遇到问题。对工具的执行考虑很多,使用它们但没有注意到,它们会给出积极的反馈。
