关于 @niklaserik/effect-mcp
@niklaserik/effect-mcp 是一个 MCP 服务,用于获取 Effect 生态的最新文档。它面向使用 VS Code 等 MCP 客户端编写 Effect 代码的开发者,会根据代码中的导入自动判断相关包并返回对应文档。
主要功能
- 01获取 Effect 生态包的最新文档
- 02根据导入语句检测相关包
- 03支持稳定版与实验性包
- 04内存缓存约 10 分钟
- 05对临时抓取错误进行轻量重试
适用场景
- 01在 VS Code 中询问 Effect API 的用法
- 02让 AI 助手参考最新的 @effect/platform 文档
MCP 相关
这是一个 MCP 服务,以资源和工具的形式向 MCP 客户端提供 Effect 文档,支持通过 stdio 传输连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
@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://effect、effect-docs://@effect-platform等 - 当前支持的库:
effect@effect/platform@effect/sql@effect/vitest@effect/ai@effect/cli@effect/cluster@effect/rpc@effect/typeclass
- 动态模板:
- 工具(用于兼容性)
effect-documentation:获取所选库的文档,并返回拼接后的 Markdowneffect-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 - 使用
{ "libraries": ["effect", "@effect/platform"] }调用工具effect-doc-links
初始化说明
- 此服务会通过 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/registerToolAPI。 - 传输方式:默认使用 stdio;需要时可改用 Streamable HTTP。
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。