Meteor.js MCP服务器
一个模型上下文协议(MCP)服务器,提供完整的 Meteor.js v3.4.0 API文档、代码示例和AI编码助手的架构指南,如Claude、Cursor、Windsurf和任何MCP-兼容客户端。
跨越20个模块的212个API条目-全部嵌入为静态数据,不需要外部网络调用。
为什么
Meteor.js是一个功能强大的全栈JavaScript框架,但AI编码助手往往缺乏对其API的最新了解,尤其是v3异步优先更改。此MCP服务器为任何AI助手提供了对准确、经过审核的Meteor文档的即时访问,因此它可以:
- 查找任何具有完整签名、参数和返回类型的Meteor API方法
- 获取常见模式(发布/订阅、方法、身份验证等)的工作代码示例
- 了解Meteor v3的异步优先架构和从Fibers的迁移
- 遵循安全性、反应性和项目结构的最佳实践
工具
服务器公开了5个MCP工具:
| 工具 | 说明 |
|---|---|
meteor_search | 在所有212个API条目中进行全文搜索,并进行基于分数的排名 |
meteor_api_reference | 获取API模块的完整参考资料(例如。 collections, accounts) |
meteor_method_lookup | 按名称查找特定方法(例如。 Meteor.publish, Mongo.Collection.find) |
meteor_code_examples | 获取15个主题的带注释代码示例 |
meteor_guide | 获取10个架构主题的概念指导 |
API覆盖范围
| 模块 | 条目 | 描述 |
|---|---|---|
accounts | 35 | 用户帐户、登录、OAuth、密码管理 |
collections | 27 | 蒙戈。收集、游标、CRUD操作 |
tracker | 21 | Tracker.autorun、计算、依赖性、反应性 |
meteor_core | 17 | Meteor.启动、设置、环境标志、promisify |
pubsub | 15 | Meteor.发布、订阅、发布生命周期 |
package_js | 14 | 包装.描述,api.use,Npm.取决于 |
methods | 11 | Meteor.methods,callAsync,applySync,错误 |
check | 10 | check(),匹配模式和验证器 |
ejson | 9 | EJSON序列化,自定义类型 |
reactive_dict | 9 | 重新激活冲突获取/设置/等于/全部 |
webapp | 7 | WebApp HTTP处理程序,运行时配置 |
connections | 5 | DDP.connect、Meteor.status、重新连接 |
app_config | 5 | 应用程序信息、访问规则、移动配置 |
assets | 5 | Assets.getText/getBinary(同步+异步) |
ddp_rate_limiter | 4 | DDPRateLimiter规则和配置 |
environment | 4 | 环境变量,bindEnvironment |
timers | 4 | Meteor.setTimeout/setInterval与env绑定 |
session | 4 | 会话获取/设置/等于 |
reactive_var | 3 | 重新激活车辆获取/设置 |
email_pkg | 3 | 电子邮件发送、sendAsync、hookSend |
加 15个代码示例主题 和 10建筑指南.
快速开始
公共实例(最快)
公共实例可用,无需设置:
https://meteor-mcp.sembilan.cloud/mcp将其添加到您的MCP客户端并立即开始使用。
Docker Hub(建议用于自托管)
docker pull dochafizhanif/meteor-mcp
docker run -d -p 8080:8080 dochafizhanif/meteor-mcp服务器运行在 http://localhost:8080/mcp.
自定义端口: 容器监听端口 8080 内部。如果该端口已在您的计算机上使用,请将其映射到任何可用端口:
docker run -d -p 3000:8080 dochafizhanif/meteor-mcp # available on port 3000
docker run -d -p 9090:8080 dochafizhanif/meteor-mcp # available on port 9090MCP端点将位于 http://localhost:/mcp.
波特纳
- 首选 容器 → click 添加容器
- 填写以下字段:
- 姓名: meteor-mcp (或您喜欢的任何名称) - 图片: dochafizhanif/meteor-mcp:latest
- 在...之下 网络端口配置,单击 发布新的网络端口 并输入:
- 主机: 8080 (或您机器上的任何可用端口,例如。 3000, 9090) - 集装箱: 8080 (总是 8080 --这是服务器在容器内监听的端口)
- 点击 部署容器
MCP端点将位于 http://YOUR_SERVER_IP:/mcp.
例如,如果将主机端口设置为 9090,端点为 http://YOUR_SERVER_IP:9090/mcp.
从源代码构建(Docker)
git clone https://github.com/apitlekays/meteor-mcp.git
cd meteor-mcp
docker compose up -d --build本地服务器(stdio)
pip install fastmcp==3.0.2
python local_server.py客户端配置
克劳德桌面/克劳德代码
添加到MCP设置中:
{
"mcpServers": {
"meteor": {
"url": "https://meteor-mcp.sembilan.cloud/mcp"
}
}
}或者,如果您是自托管:
{
"mcpServers": {
"meteor": {
"url": "http://YOUR_SERVER_IP:8080/mcp"
}
}
}对于本地stdio模式:
{
"mcpServers": {
"meteor": {
"command": "python",
"args": ["/path/to/meteor-mcp/local_server.py"]
}
}
}光标
首选 设置>MCP服务器>添加服务器 并输入URL:
https://meteor-mcp.sembilan.cloud/mcp项目结构
meteor-mcp/
├── server.py # Remote MCP server (streamable-http, port 8080)
├── local_server.py # Local MCP server (stdio, for dev/testing)
├── tools.py # MCP tool definitions (5 tools)
├── search.py # Score-based search engine
├── data/
│ ├── __init__.py # Aggregates all modules into API_REGISTRY
│ ├── meteor_core.py # Meteor.startup, settings, isClient/isServer, promisify
│ ├── methods.py # Meteor.methods, call, callAsync, apply, Error
│ ├── pubsub.py # Meteor.publish, subscribe, publication lifecycle
│ ├── collections.py # Mongo.Collection, Cursor, ObjectID
│ ├── accounts.py # Accounts, login, user management, OAuth
│ ├── connections.py # DDP.connect, Meteor.status, reconnect
│ ├── check.py # check(), Match patterns
│ ├── ejson.py # EJSON serialization
│ ├── tracker.py # Tracker.autorun, Computation, Dependency
│ ├── session.py # Session get/set/equals
│ ├── reactive_var.py # ReactiveVar
│ ├── reactive_dict.py # ReactiveDict
│ ├── email_pkg.py # Email.send, sendAsync, hooks
│ ├── assets.py # Assets.getText/getBinary (sync + async)
│ ├── ddp_rate_limiter.py # DDPRateLimiter rules
│ ├── webapp.py # WebApp HTTP handlers, runtime config
│ ├── app_config.py # App.info, mobile configuration
│ ├── package_js.py # Package.describe, onUse, Npm.depends
│ ├── timers.py # Meteor.setTimeout/setInterval
│ ├── environment.py # EnvironmentVariable, bindEnvironment
│ ├── examples.py # 15 topics of annotated code examples
│ └── guides.py # 10 conceptual architecture guides
├── Dockerfile
├── docker-compose.yml
└── requirements.txt # fastmcp==3.0.2运作原理
所有Meteor.js API文档都嵌入为Python字典-没有数据库,没有网络调用,没有API键。每个API条目都包含:
- 名字 和 签名 --方法名和调用签名
- 描述 --对行为、参数和边缘情况的详细解释
- 参数 --带可选标志的类型化参数列表
- 回报 --返回类型和描述
- 环境 —
client,server,或anywhere - is_reactive -API是否为反应数据源
- 弃用 --弃用API的迁移指南
- 示例 --显示实际使用情况的带注释代码片段
- 标签 --搜索排名关键字
搜索引擎使用基于分数的排名:精确名称匹配(100分)>部分名称(50分)>标签匹配(30分)>描述匹配(10分)。
部署
VPS上的Docker
ssh root@your-vps-ip
git clone https://github.com/apitlekays/meteor-mcp.git
cd meteor-mcp
docker compose up -d --build确保端口 8080 打开:
ufw allow 8080健康检查
Docker容器包含一个健康检查。验证它是否正在运行:
docker compose ps反向代理(nginx)背后
如果你想要HTTPS,把nginx放在前面:
location /mcp {
proxy_pass http://localhost:8080/mcp;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}技术栈
- Python 3.11 --运行时间
- FastMCP 3.0.2 --MCP服务器框架
- 可流式传输的HTTP --传输协议(端口8080)
- 码头工人 --集装箱化部署
许可证
麻省理工学院
