README
🚀 yardmcp
yardmcp 是一个可编程服务器,借助 YARD 和 FastMCP 协议来探索和查询 Ruby 宝石(gem)文档。它为开发者提供了便捷的工具,可高效地与 Ruby 宝石文档进行交互。
🚀 快速开始
yardmcp 通过 FastMCP 服务器,将 Ruby 宝石和 YARD 文档以一系列可编程工具的形式呈现。客户端能够:
- 列出带有 YARD 文档的已安装宝石
- 探索类、模块和方法
- 获取文档、代码片段和源代码位置
- 在文档中进行模糊/全文搜索
- 内省继承、混入和相关对象
这对于构建文档浏览器、代码助手,或者将 Ruby/YARD 文档集成到其他系统中非常有用。
✨ 主要特性
- 列出宝石:查看所有带有 YARD 文档的已安装宝石
- 列出类/模块:探索宝石中的所有类/模块
- 获取文档:获取任何类/模块/方法的文档字符串、标签、参数、返回类型等
- 列出子项:列出命名空间下的常量、类、模块和方法
- 列出方法:列出类/模块的所有方法
- 层次结构:获取继承和包含信息
- 祖先链:获取完整的祖先链
- 相关对象:查找包含的模块、混入和子类
- 搜索:在所有文档中进行模糊/全文搜索
- 源代码位置:查找任何对象的文件和行号
- 代码片段:获取任何对象的源代码
📦 安装指南
作为宝石安装
你可以在本地构建并安装该宝石:
gem build yardmcp.gemspec
gem install yardmcp-0.1.0.gem
这将把 yardmcp 可执行文件安装到你的 PATH 中。
💻 使用示例
基础用法
运行服务器
服务器设计为长期运行的进程。启动可能需要一些时间,因为它会为已安装的宝石构建所有 YARD 文档的索引。在启动期间,进度和日志(包括 Index built ...)会打印到标准错误输出。客户端应在标准错误输出中看到 Index built 消息后再发送请求。
启动服务器:
yardmcp
工具列表
以下工具可供使用(使用 tools/list 进行发现):
- ListGemsTool
- ListClassesTool
- GetDocTool
- ChildrenTool
- MethodsListTool
- HierarchyTool
- SearchTool
- SourceLocationTool
- CodeSnippetTool
- AncestorsTool
- RelatedObjectsTool
有关参数详细信息和返回格式,请参阅 lib/yardmcp.rb 中的代码。
📚 详细文档
开发相关
- 运行测试:
测试套件会为所有测试启动一个持久的服务器进程,并在运行示例之前等待服务器准备就绪。bundle exec rspec - 代码风格:
bundle exec rubocop - 为宝石重新生成 YARD 文档:
yard gems <gemname>
要求
- Ruby 3.2+
- Bundler
- 宝石:
fast-mcp、levenshtein、yard、rspec(用于测试)
📄 许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE。
Scan to join WeChat group