Back to MCP directory
publicPublicdnsLocal runtime

yardmcp

yardmcp是一个基于FastMCP协议的可编程服务器,用于通过YARD探索和查询Ruby gem文档。它提供了一系列工具来列出gem、浏览类/模块、获取文档、搜索内容等,适用于构建文档浏览器或代码助手。

article

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-mcplevenshteinyardrspec(用于测试)

📄 许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client