Open MCP Servers
Allows managing Facebook Pages by publishing posts, photos, videos, Reels and Stories, moderating comments, analyzing page and post insights, and handling audience engagement.
Allows starting, scheduling, and ending Facebook Live video broadcasts on a Facebook Page.
Allows posting photos, reels, stories, and carousels to Instagram, managing DMs and broadcast channels, and retrieving account and follower insights.
Allows managing Messenger conversations and settings, including greeting text and reply management.
Provides integration with Meta's platforms and APIs, covering Facebook Pages, Instagram, Threads, Ads Manager, Commerce, Conversions API, audiences, and insights.
Allows publishing text, image, video, GIF, and link posts to Threads, with reply controls and scheduling capabilities.
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., "@Open MCP ServersPublish a new Instagram post announcing our product launch."
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.
Open MCP Servers
Self-hosted Model Context Protocol connectors for Meta and GitHub.
The repository is a small npm workspaces monorepo. Each connector is independently installable and owns its source, tests, package metadata, and documentation. Credentials stay in the environment of the server you run; they are not sent to a hosted Open MCP service.
Contents
Related MCP server: Meta Marketing API MCP Server
Connectors
Connector | npm package | What it provides | Runtime notes |
Meta | 200 purpose-built tools for Facebook Pages, Instagram, Threads, Ads Manager, Commerce, Conversions API, audiences, insights, and charts | Stdio package; the root Docker image and Compose file expose this connector over Streamable HTTP | |
GitHub | Local GitHub REST, GraphQL, release, tag, asset, and encrypted-secret tools | The npm command is native-only; the published container remains available for Streamable HTTP |
Tool availability is permission- and version-dependent. A PAT never grants more access than GitHub or Meta grants to that token.
Meta
The Meta connector covers:
Facebook Pages: publishing, comments, messaging, moderation, events, media, Stories, Reels, Live Video, webhooks, and automated responses.
Instagram: publishing, scheduling, comments, DMs, broadcast channels, discovery, and insights.
Ads Manager: campaigns, ad sets, ads, creatives, targeting, audiences, pixels, Conversions API, A/B tests, and Advantage+ operations.
Threads, Commerce, and chart generation.
Start with the Meta package README and Meta documentation index.
GitHub
The GitHub npm package provides one executable:
github-mcp-server— native API-only mode. It exposes the local REST/GraphQL/release/tag/asset/secret tools without starting Docker.
The published container is the same native-only server exposed over Streamable HTTP and does not fetch or start an official upstream binary.
The local GitHub tools include github_rest_api_request and github_graphql escape hatches, so documented endpoints that do not yet have a dedicated tool can still be reached using the PAT. Native helpers cover releases, Git references, release assets, and encrypted Actions, Dependabot, Codespaces, and Agent secrets.
See the GitHub package README, tool guide, and GitHub documentation index.
Install a connector
Install only the package you need. Node.js 18 or newer is supported.
Meta (stdio)
npm install -g @open-work-org/meta-mcp-serverExample MCP client configuration:
{
"mcpServers": {
"meta": {
"command": "meta-mcp-server",
"env": {
"META_ACCESS_TOKEN": "your_meta_token"
}
}
}
}Add THREADS_ACCESS_TOKEN when using Threads operations. Meta setup, permissions, token lifetimes, and API guides are documented in packages/meta/docs.
GitHub (stdio, native API tools)
npm install -g @open-work-org/github-mcp-serverExample MCP client configuration:
{
"mcpServers": {
"github": {
"command": "github-mcp-server",
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_pat"
}
}
}
}The npm command uses the local native API tools and does not require Docker.
Run from source
git clone https://github.com/open-work-org/open-mcp-servers.git
cd open-mcp-servers
npm ci
npm run buildRun Meta after building:
META_ACCESS_TOKEN="your_meta_token" npm startRun the GitHub server after building:
GITHUB_PERSONAL_ACCESS_TOKEN="your_github_pat" \
node packages/github/dist/index.jsThe command above supports stdio by default. For Streamable HTTP, set MCP_TRANSPORT=streamable-http:
MCP_TRANSPORT=streamable-http \
GITHUB_PERSONAL_ACCESS_TOKEN="your_github_pat" \
node packages/github/dist/index.jsCopy .env.example for a starting point, but keep the real file out of version control.
Transport options
Stdio
Stdio is the default and is the simplest option for a local MCP client. The client launches the executable and exchanges MCP messages over stdin/stdout. Diagnostics are written to stderr.
Streamable HTTP
The Meta entrypoint can be hosted through the root Dockerfile or Compose configuration:
cp .env.example .env
# Set META_ACCESS_TOKEN and MCP_HTTP_AUTH_TOKEN in .env.
docker compose up -d --build
curl http://localhost:3000/healthzThe default Meta endpoint is http://127.0.0.1:3000/mcp.
The GitHub executable also supports Streamable HTTP:
MCP_TRANSPORT=streamable-http \
MCP_HTTP_HOST=127.0.0.1 \
GITHUB_MCP_HTTP_PORT=3001 \
MCP_HTTP_AUTH_TOKEN="choose-a-long-random-token" \
GITHUB_PERSONAL_ACCESS_TOKEN="your_github_pat" \
node packages/github/dist/index.jsThe default GitHub endpoint is http://127.0.0.1:3001/github/mcp, with a health check at /healthz. For non-loopback hosting, configure MCP_HTTP_AUTH_TOKEN and put the service behind HTTPS. The HTTP bearer token is separate from the GitHub or Meta API token.
See the connector-specific GitHub Streamable HTTP guide and Meta docs for all environment variables and client-specific examples.
Configuration and security
Credentials
Connector | Required server variable | Optional variable |
Meta |
|
|
GitHub |
|
|
HTTP | — |
|
Use a fine-grained GitHub PAT with only the repository, organization, and account permissions required by your workflows. Operations such as releases, tags, workflow dispatches, pull-request approvals, package publishing, and organization secrets still depend on the PAT, token type, SSO, organization policy, and the caller's GitHub role.
The connector:
Reads credentials from the server environment (with an optional 1Password CLI fallback configured by the entrypoint).
Does not accept a PAT as a tool argument.
Does not elevate permissions or bypass third-party API policies.
Validates GitHub REST paths as relative API paths and does not forward the PAT to arbitrary hosts.
Encrypts supported GitHub secret values locally with LibSodium before sending them to GitHub; plaintext secret values are not included in API request bodies.
Never commit .env files, PATs, access tokens, secret values, private keys, or customer data. For HTTP deployments, store credentials in the host's secret manager and protect the endpoint with HTTPS and a separate bearer token.
Documentation
Area | Documentation |
Repository documentation index | |
GitHub connector overview and setup | |
GitHub tool discovery and local catalog | |
GitHub encrypted secrets | |
GitHub architecture | |
GitHub release workflow | |
Meta connector overview and setup | |
Meta authentication | |
Meta API guides |
Repository layout
open-mcp-servers/
├── packages/
│ ├── meta/
│ │ ├── src/ # Meta MCP implementation
│ │ ├── tests/
│ │ ├── docs/
│ │ ├── package.json
│ │ └── README.md
│ └── github/
│ ├── src/ # Unified and API-only GitHub implementation
│ ├── tests/
│ ├── docs/
│ ├── package.json
│ └── README.md
├── .github/workflows/
│ ├── ci.yml # Tests and builds both packages
│ ├── release.yml # Shared v-N release orchestration
│ ├── publish-npm.yml # Reusable npm publishing job
│ └── publish-ghcr.yml # Reusable Meta and GitHub image publishing jobs
├── Dockerfile # Meta Streamable HTTP image
├── Dockerfile.github # GitHub Streamable HTTP image
├── docker-compose.yml # Local Meta HTTP deployment
├── docs/ # Documentation index
├── package.json # Workspace scripts and dependency lock
└── .env.example # Non-secret configuration templateDevelopment
Install dependencies and run the checks from the repository root:
npm ci
npm test
npm run buildUseful focused commands:
npm run build:meta
npm run build:github
npm run test:watch
npm run cleanConnector-specific changes belong under packages//. Add or update a focused test with every behavior change, keep tool schemas strict, and document new configuration or permissions alongside the connector that owns them.
Releases
The repository uses one sequential repository tag, such as v-1 or v-2, for a release event. Package versions remain independent:
@open-work-org/meta-mcp-server is versioned in packages/meta/package.json.
@open-work-org/github-mcp-server is versioned in packages/github/package.json.
Pushing a new v-N tag runs the release workflow. It tests and builds both packages, detects which connector paths changed, publishes only changed npm package versions, publishes the Meta image only when its runtime inputs changed, and creates one GitHub Release with a manifest of the artifacts. An unchanged package is not republished.
Before creating a release tag:
Bump the version of every changed package.
Run npm ci, npm test, and npm run build.
Push the release commit to main.
Create the next unused v-N tag on that commit.
Required repository configuration is documented in GitHub release workflows. The npm publish job expects NPM_TOKEN; GitHub Actions uses its short-lived GITHUB_TOKEN for the GitHub Release and GHCR permissions declared in the workflow.
License
This project is available under the MIT License. Third-party APIs, tokens, quotas, and platform terms remain the responsibility of the operator.
Not affiliated with or endorsed by Meta Platforms, Inc. or GitHub, Inc.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage Facebook and Instagram advertising via the Meta Marketing API. It provides comprehensive tools for campaign lifecycle management, performance analytics, audience targeting, and creative optimization.27196MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Facebook and Instagram advertising data through the Meta Marketing API. It supports full campaign lifecycle management, performance analytics, audience targeting, and creative optimization.1,659MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to manage Facebook and Instagram advertising campaigns through the Meta Marketing API. Supports full campaign lifecycle management, performance analytics, audience targeting, and creative optimization.
- AlicenseBqualityDmaintenanceConnects AI assistants to Meta's business platforms (Facebook, Instagram, Threads, Ads, Commerce) with 200 tools for publishing, engagement, analytics, ads, and commerce management.10021430MIT
Related MCP Connectors
Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.
60+ Meta Ads tools for AI agents: audits, campaign management, audiences and CAPI tracking.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/open-work-org/open-mcp-servers'
If you have feedback or need assistance with the MCP directory API, please join our Discord server