meteor-mcp

meteor-mcp

Provides complete Meteor.js v3.4.0 API documentation, code examples, and architectural guides to AI coding assistants.

Category
访问服务器

README

Meteor.js MCP Server

A Model Context Protocol (MCP) server that provides complete Meteor.js v3.4.0 API documentation, code examples, and architectural guides to AI coding assistants like Claude, Cursor, Windsurf, and any MCP-compatible client.

212 API entries across 20 modules — all embedded as static data, no external network calls required.

Why

Meteor.js is a powerful full-stack JavaScript framework, but AI coding assistants often lack up-to-date knowledge of its APIs, especially the v3 async-first changes. This MCP server gives any AI assistant instant access to accurate, audited Meteor documentation so it can:

  • Look up any Meteor API method with full signatures, parameters, and return types
  • Get working code examples for common patterns (pub/sub, methods, auth, etc.)
  • Understand Meteor v3's async-first architecture and migration from Fibers
  • Follow best practices for security, reactivity, and project structure

Tools

The server exposes 5 MCP tools:

Tool Description
meteor_search Full-text search across all 212 API entries with score-based ranking
meteor_api_reference Get complete reference for an API module (e.g. collections, accounts)
meteor_method_lookup Look up a specific method by name (e.g. Meteor.publish, Mongo.Collection.find)
meteor_code_examples Get annotated code examples for 15 topics
meteor_guide Get conceptual guidance on 10 architectural topics

API Coverage

Module Entries Description
accounts 35 User accounts, login, OAuth, password management
collections 27 Mongo.Collection, Cursor, CRUD operations
tracker 21 Tracker.autorun, Computation, Dependency, reactivity
meteor_core 17 Meteor.startup, settings, environment flags, promisify
pubsub 15 Meteor.publish, subscribe, publication lifecycle
package_js 14 Package.describe, api.use, Npm.depends
methods 11 Meteor.methods, callAsync, applyAsync, Error
check 10 check(), Match patterns and validators
ejson 9 EJSON serialization, custom types
reactive_dict 9 ReactiveDict get/set/equals/all
webapp 7 WebApp HTTP handlers, runtime config
connections 5 DDP.connect, Meteor.status, reconnect
app_config 5 App.info, accessRule, mobile config
assets 5 Assets.getText/getBinary (sync + async)
ddp_rate_limiter 4 DDPRateLimiter rules and configuration
environment 4 EnvironmentVariable, bindEnvironment
timers 4 Meteor.setTimeout/setInterval with env binding
session 4 Session get/set/equals
reactive_var 3 ReactiveVar get/set
email_pkg 3 Email.send, sendAsync, hookSend

Plus 15 code example topics and 10 architectural guides.

Quick Start

Public instance (fastest)

A public instance is available — no setup required:

https://meteor-mcp.sembilan.cloud/mcp

Add it to your MCP client and start using it immediately.

Docker Hub (recommended for self-hosting)

docker pull dochafizhanif/meteor-mcp
docker run -d -p 8080:8080 dochafizhanif/meteor-mcp

The server runs at http://localhost:8080/mcp.

Custom port: The container listens on port 8080 internally. If that port is already in use on your machine, map it to any available port:

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 9090

The MCP endpoint will then be at http://localhost:<your-port>/mcp.

Portainer

  1. Go to Containers → click Add container
  2. Fill in the following fields:
    • Name: meteor-mcp (or any name you prefer)
    • Image: dochafizhanif/meteor-mcp:latest
  3. Under Network ports configuration, click publish a new network port and enter:
    • host: 8080 (or any available port on your machine, e.g. 3000, 9090)
    • container: 8080 (always 8080 — this is the port the server listens on inside the container)
  4. Click Deploy the container

The MCP endpoint will be at http://YOUR_SERVER_IP:<host-port>/mcp.

For example, if you set the host port to 9090, the endpoint is http://YOUR_SERVER_IP:9090/mcp.

Build from source (Docker)

git clone https://github.com/apitlekays/meteor-mcp.git
cd meteor-mcp
docker compose up -d --build

Local server (stdio)

pip install fastmcp==3.0.2
python local_server.py

Client Configuration

Claude Desktop / Claude Code

Add to your MCP settings:

{
  "mcpServers": {
    "meteor": {
      "url": "https://meteor-mcp.sembilan.cloud/mcp"
    }
  }
}

Or if you're self-hosting:

{
  "mcpServers": {
    "meteor": {
      "url": "http://YOUR_SERVER_IP:8080/mcp"
    }
  }
}

For local stdio mode:

{
  "mcpServers": {
    "meteor": {
      "command": "python",
      "args": ["/path/to/meteor-mcp/local_server.py"]
    }
  }
}

Cursor

Go to Settings > MCP Servers > Add Server and enter the URL:

https://meteor-mcp.sembilan.cloud/mcp

Project Structure

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

How It Works

All Meteor.js API documentation is embedded as Python dictionaries — no database, no network calls, no API keys. Each API entry contains:

  • name and signature — the method name and call signature
  • description — detailed explanation of behavior, parameters, and edge cases
  • params — typed parameter list with optional flags
  • returns — return type and description
  • environmentclient, server, or anywhere
  • is_reactive — whether the API is a reactive data source
  • deprecated — migration guidance for deprecated APIs
  • examples — annotated code snippets showing real usage
  • tags — keywords for search ranking

The search engine uses score-based ranking: exact name match (100pts) > partial name (50pts) > tag match (30pts) > description match (10pts).

Deployment

Docker on a VPS

ssh root@your-vps-ip
git clone https://github.com/apitlekays/meteor-mcp.git
cd meteor-mcp
docker compose up -d --build

Ensure port 8080 is open:

ufw allow 8080

Health Check

The Docker container includes a health check. Verify it's running:

docker compose ps

Behind a Reverse Proxy (nginx)

If you want HTTPS, put nginx in front:

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;
}

Tech Stack

  • Python 3.11 — runtime
  • FastMCP 3.0.2 — MCP server framework
  • Streamable HTTP — transport protocol (port 8080)
  • Docker — containerized deployment

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选