meteor-mcp
Provides full Meteor.js v3.4.0 API documentation, code examples, and architectural guides for AI coding assistants, covering 212 API entries across 20 modules including accounts, collections, methods, pub/sub, and more.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@meteor-mcpshow me code example for pub/sub pattern"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Full-text search across all 212 API entries with score-based ranking |
| Get complete reference for an API module (e.g. |
| Look up a specific method by name (e.g. |
| Get annotated code examples for 15 topics |
| Get conceptual guidance on 10 architectural topics |
API Coverage
Module | Entries | Description |
| 35 | User accounts, login, OAuth, password management |
| 27 | Mongo.Collection, Cursor, CRUD operations |
| 21 | Tracker.autorun, Computation, Dependency, reactivity |
| 17 | Meteor.startup, settings, environment flags, promisify |
| 15 | Meteor.publish, subscribe, publication lifecycle |
| 14 | Package.describe, api.use, Npm.depends |
| 11 | Meteor.methods, callAsync, applyAsync, Error |
| 10 | check(), Match patterns and validators |
| 9 | EJSON serialization, custom types |
| 9 | ReactiveDict get/set/equals/all |
| 7 | WebApp HTTP handlers, runtime config |
| 5 | DDP.connect, Meteor.status, reconnect |
| 5 | App.info, accessRule, mobile config |
| 5 | Assets.getText/getBinary (sync + async) |
| 4 | DDPRateLimiter rules and configuration |
| 4 | EnvironmentVariable, bindEnvironment |
| 4 | Meteor.setTimeout/setInterval with env binding |
| 4 | Session get/set/equals |
| 3 | ReactiveVar get/set |
| 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/mcpAdd 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-mcpThe 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 9090The MCP endpoint will then be at http://localhost:<your-port>/mcp.
Portainer
Go to Containers → click Add container
Fill in the following fields:
Name:
meteor-mcp(or any name you prefer)Image:
dochafizhanif/meteor-mcp:latest
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(always8080— this is the port the server listens on inside the container)
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 --buildLocal server (stdio)
pip install fastmcp==3.0.2
python local_server.pyClient 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/mcpProject 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.2How 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
environment —
client,server, oranywhereis_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 --buildEnsure port 8080 is open:
ufw allow 8080Health Check
The Docker container includes a health check. Verify it's running:
docker compose psBehind 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
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/apitlekays/meteor-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server