刺激文档MCP服务器
MCP服务器,用于访问最新文档 刺激JS.
⚠️ 这是实验软件
该MCP尚处于早期开发阶段。它可能包含错误,功能有限,或在没有通知的情况下进行重大更改。使用风险自负,并预期潜在的不稳定性。
构建MCP服务器
先决条件
- Node.js:最低版本18.0.0或更高
- npm:与Node.js捆绑在一起
构建说明
- 克隆此存储库并导航到项目目录
- 安装依赖项:
npm install- 使用提供的脚本构建项目:
npm run build这将编译TypeScript源代码并在 build/ 目录。
用法
使用克劳德桌面
- 首先,按照上述说明构建MCP服务器
- 请遵循以下说明https://modelcontextprotocol.io/quickstart/user添加新的MCP服务器。
- 添加以下配置:
{
"mcpServers": {
"stimulus-docs": {
"command": "node",
"args": ["/path/to/your/stimulus-docs-mcp-server/build/index.js"],
"env": {}
}
}
}- 替换
/path/to/your/stimulus-docs-mcp-server这个项目的实际路径 - 重新启动克劳德桌面
- 刺激文档工具现在应该可以在您的Claude对话中使用
使用VS代码
- 按照上述说明构建MCP服务器
- 请遵循以下说明https://code.visualstudio.com/docs/copilot/chat/mcp-servers
- 使用基于上述说明的首选方法,通过将MCP服务器指向内置的可执行文件来配置它:
{
"stimulus-docs": {
"type": "stdio",
"command": "node",
"args": [
"path/to/your/stimulus-docs-mcp-server"
]
}
}- 替换
path/to/your/stimulus-docs-mcp-server随着通往index.js步骤1中构建的文件。 - 刺激文件将通过MCP客户端界面访问
故障排除
克劳德
配置MCP后打开Claude时,您可能会看到以下错误:
MCP stimulus-docs: spawn node ENOENT (2)
Could not connect to MCP server stimulus-docs
MCP stimulus-docs: Server disconnected. For troubleshooting guidance [...]
这是因为通往 node 找不到可执行文件。如果是这样的话,而不是 "command": "node" 使用节点的完整路径。如果你使用 mise 它可能类似于:
"command": "/Users/<YOUR USER NAME/.local/share/mise/installs/node/20.18.3/bin/node文档源和缓存策略
此MCP服务器直接从官方网站获取最新的Stimulus文档 刺激位点库 在GitHub上。为了确保最佳性能并减少API调用,服务器实现了以下缓存策略:
运作原理
- 新鲜内容物检测:服务器检查GitHub存储库中的最新提交SHA和时间戳
- 缓存密钥生成:使用提交SHA(前7个字符)和时间戳生成唯一的缓存密钥
- 缓存:文档文件使用缓存键作为文件夹结构在本地缓存
- 缓存验证:在从GitHub获取之前,服务器会检查当前提交的内容是否已经缓存
- 回退策略:如果GitHub不可用,服务器将回退到本地文档文件
缓存结构
cache/
{commit-sha}-{timestamp}/
handbook/
01_introduction.md
02_hello_stimulus.md
...
reference/
actions.md
targets.md
...益处
- 始终保持最新:当Stimulus存储库更改时,内容会自动更新
- 演出:缓存内容无需网络请求即可立即加载
- 可靠性:本地回退确保服务器即使在GitHub不可用时也能正常工作
- 高效:仅在存储库更新后获取新内容
中的本地文档文件 src/docs/ 作为备份,确保MCP服务器即使在没有互联网连接的情况下也能正常工作。
文档内容的所有功劳都归功于Stimulus团队和贡献者。
可用工具
此MCP服务器提供对完整刺激文档的访问,这些文档分为:
手册:
- 刺激的起源
- 引言
- Hello刺激教程
- 建造真实的东西
- 弹性设计
- 管理状态
- 与外部资源合作
- 安装刺激
参考:
- 行动
- 控制器
- CSS类
- 生命周期回调
- 奥特莱斯
- 目标
- 使用TypeScript
- 价值观
每个文档部分都可以作为一个单独的工具使用,可以调用该工具来检索相关内容。
