yardmcp
一个可编程服务器,用于使用YARD和FastMCP协议探索和查询Ruby gem文档。
概述
yardmcp 通过FastMCP服务器将Rubygem和YARD文档作为一组可编程工具公开。它使客户能够:
- 使用YARD文档列出已安装的gem
- 探索类、模块和方法
- 获取文档、代码片段和源代码位置
- 跨文档执行模糊/全文搜索
- 反思继承、混合和相关对象
这对于构建文档浏览器、代码助手或将Ruby/YARD文档集成到其他系统中非常有用。
特性
- 列出宝石: 使用YARD文档查看所有已安装的gem
- 列出类/模块: 探索gem中的所有类/模块
- 获取文档: 获取任何类/模块/方法的文档字符串、标签、参数、返回类型等
- 列出孩子: 列出命名空间下的常量、类、模块和方法
- 列出方法: 列出类/模块的所有方法
- 等级制度: 获取继承和包含信息
- 祖先: 获取完整的祖先链
- 相关对象: 查找包含的模块、混入和子类
- 搜索: 所有文档的模糊/全文搜索
- 源位置: 查找任何对象的文件和行号
- 代码段: 获取任何对象的源代码
安装
作为一颗宝石
您可以在本地构建和安装gem:
gem build yardmcp.gemspec
gem install yardmcp-0.1.0.gem这将安装 yardmcp 可在PATH中执行。
用法
运行服务器
服务器被设计为作为一个长期进程运行。 启动可能需要一些时间 因为它为已安装的gem构建了所有YARD文档的索引。在启动期间, 进度和日志(包括 Index built ...)打印到stderr。 客户应该等待 Index built 发送请求前在stderr上发送消息。
启动服务器:
yardmcp刀具清单
以下工具可用(使用 tools/list 发现):
- 列表宝石工具
- ListClassesTool
- GetDocTool
- 儿童工具
- 方法列表工具
- 层次结构工具
- 搜索工具
- 源位置工具
- 代码片段工具
- 祖先工具
- 相关对象工具
请参阅中的代码 lib/yardmcp.rb 获取参数详细信息和返回格式。
发展
- 运行测试:
bundle exec rspec测试套件为所有测试启动一个持久服务器进程,并在运行示例之前等待服务器准备就绪。
- 代码样式:
bundle exec rubocop- 重新生成宝石的 YARD 文档 :
yard gems 需求
- Ruby 3.2+
- 打包机
- 宝石:
fast-mcp,levenshtein,yard,rspec(用于测试)
许可证
MIT许可证。看 许可证 了解详情。
