返回市场
效果-mcp

效果-mcp

作者:niklaserik32 星标更新:2025-08-29

项目介绍

@niklaserik/effect-mcp

一个专注于从Effect生态系统中获取最新文档的模型上下文协议(MCP)服务器。

目的

此MCP服务器为AI助手和工具提供实时访问Effect文档的功能。它使VS Code扩展和其他MCP客户端能够检索准确且最新的Effect包文档,以帮助开发者解答关于以下内容的问题:

  • 核心effect
  • 生态系统包(如@effect/platform@effect/ai等)
  • 包括稳定版和不稳定版的Effect包

该服务器智能地检测代码中导入的Effect包,并获取最相关的文档来回答您的查询。

功能

  • 实时访问Effect生态系统的文档
  • 支持稳定版和实验性包
  • 基于导入的上下文感知包检测
  • 与VS Code和其他兼容MCP的客户端无缝集成
  • 帮助回答Effect开发者的API使用问题

此服务器公开的内容

  • 资源(首选)
    • 动态模板:effect-docs://{libId}
    • 支持对{libId}的补全和资源列表
    • 静态别名用于发现:effect-docs://effecteffect-docs://@effect-platform
    • 当前支持的库:
      • effect
      • @effect/platform
      • @effect/sql
    • @effect/vitest
    • @effect/ai
    • @effect/cli
    • @effect/cluster
    • @effect/rpc
    • @effect/typeclass
  • 工具(为了兼容性)
    • effect-documentation:获取选定库的文档并返回拼接的markdown
    • effect-doc-links:返回上述资源的纯URI,以便客户端可以跟随它们

缓存与重试

  • 内存TTL缓存(约10分钟),避免重新获取未更改的文档。
  • 在瞬时获取错误上进行轻量级重试,带有小的退避时间。

安装

pnpm add @niklaserik/effect-mcp

使用

在VS Code或其他MCP客户端中的使用,请参阅客户端文档以添加自定义MCP服务器。

本地快速测试:

pnpm install
pnpm build
node dist/index.js # stdio传输

然后通过stdio连接到MCP客户端(例如MCP Inspector),并尝试:

  • 列出资源并读取effect-docs://effect
  • 调用工具effect-doc-links,参数为{ "libraries": ["effect", "@effect/platform"] }

初始化指令

  • 服务器通过MCP初始化向显示这些信息的客户端发布简短的使用说明。

开发

# 安装依赖
pnpm install

# 构建项目
pnpm build

# 以自动重载模式运行开发环境
pnpm dev

注意事项:

  • 使用@modelcontextprotocol/sdk@^1.17.4构建,采用现代的registerResource/registerTool API。
  • 默认传输方式为stdio;如有需要,可调整为Streamable HTTP。

许可证

MIT

</中文翻译>