Effect文档协议服务

一个提供实时Effect生态系统文档访问的MCP服务器,支持VS Code扩展和其他MCP客户端获取最新的Effect包文档。

  • by niklaserik
  • TypeScript
  • 本地部署
  • 45 星标
  • 更新于
在 GitHub 查看 niklaserik/effect-mcp

使用说明

@niklaserik/effect mcp

一个模型上下文协议(MCP)服务器,专门用于从效果生态系统中获取最新文档。

目的

此MCP服务器为AI助手和工具提供对效果文档的实时访问。它使VS Code扩展和其他MCP客户端能够检索准确和最新的Effect包文档,以帮助开发人员解决以下问题:

  • 地心末日 effect 包裹
  • 生态系统包(@effect/platform, @effect/ai等等)
  • 稳定和不稳定的效果包

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

特性

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

此服务器暴露了什么

  • 资源(首选)
    • 动态模板: effect-docs://{libId}
    • 竣工日期 {libId} 支持资源列表
    • 用于发现的静态别名: effect-docs://effect, effect-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 transport

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

  • 列出资源并阅读 effect-docs://effect
  • 呼叫工具 effect-doc-links 随着 { "libraries": ["effect", "@effect/platform"] }

初始化说明

  • 服务器通过MCP initialize为显示它们的客户端发布简短的使用说明。

发展

# Install dependencies
pnpm install

# Build the project
pnpm build

# Run in development mode with auto-reload
pnpm dev

笔记:

  • 内置于 @modelcontextprotocol/sdk@^1.17.4 使用现代 registerResource/registerTool API。
  • 传输:默认为stdio;如果需要,可以适应流式HTTP。

许可证

麻省理工学院