Building MCP Server On Cloudflare
CommandCodeAI/agent-skills
Builds remote MCP (Model Context Protocol) servers on Cloudflare Workers with tools, OAuth authentication, and production deployment.
Add a third-party MCP server (Linear, Notion, GitHub, ...) to the PostHog MCP store catalog.
$ npx skills add PostHog/posthog-foss --skill adding-mcp-store-servers -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PostHog/posthog-foss adding-mcp-store-servers --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/adding-mcp-store-servers .claude/skills/adding-mcp-store-servers && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "adding-mcp-store-servers" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-mcp-store-servers into .claude/skills/adding-mcp-store-servers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-mcp-store-servers", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-mcp-store-serversType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add PostHog/posthog-foss --skill adding-mcp-store-servers -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PostHog/posthog-foss adding-mcp-store-servers --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/adding-mcp-store-servers .agents/skills/adding-mcp-store-servers && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "adding-mcp-store-servers" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-mcp-store-servers into .agents/skills/adding-mcp-store-servers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-mcp-store-servers", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PostHog/posthog-foss --skill adding-mcp-store-servers -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PostHog/posthog-foss adding-mcp-store-servers --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/adding-mcp-store-servers .cursor/skills/adding-mcp-store-servers && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "adding-mcp-store-servers" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-mcp-store-servers into .cursor/skills/adding-mcp-store-servers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-mcp-store-servers", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/PostHog/posthog-foss.git --path .agents/skills/adding-mcp-store-servers--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add PostHog/posthog-foss --skill adding-mcp-store-servers -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PostHog/posthog-foss adding-mcp-store-servers --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/adding-mcp-store-servers .gemini/skills/adding-mcp-store-servers && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "adding-mcp-store-servers" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-mcp-store-servers into .gemini/skills/adding-mcp-store-servers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-mcp-store-servers", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install PostHog/posthog-foss adding-mcp-store-serversInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add PostHog/posthog-foss --skill adding-mcp-store-servers -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/adding-mcp-store-servers .github/skills/adding-mcp-store-servers && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "adding-mcp-store-servers" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-mcp-store-servers into .github/skills/adding-mcp-store-servers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-mcp-store-servers", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PostHog/posthog-foss --skill adding-mcp-store-servers -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PostHog/posthog-foss adding-mcp-store-servers --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/adding-mcp-store-servers .opencode/skills/adding-mcp-store-servers && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "adding-mcp-store-servers" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-mcp-store-servers into .opencode/skills/adding-mcp-store-servers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-mcp-store-servers", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
adding-mcp-store-serversAdd a third-party MCP server (Linear, Notion, GitHub, ...) to the PostHog MCP store catalog.
Adding MCP Store Servers is an agent skill from PostHog/posthog-foss, published by the product's own GitHub organization. Add a third-party MCP server (Linear, Notion, GitHub, ...) to the PostHog MCP store catalog. Use when asked to "add X to the MCP store", expand the MCP server marketplace, or fix a broken catalog entry. Covers finding the vendor's remote MCP endpoint, probing it (handshake, OAuth discovery, DCR), authoring the catalog entry in products/mcpstore/backend/catalog.py, verification tiers, and the operator handoff for servers without Dynamic Client Registration.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering MCP servers and OAuth and OpenID Connect. It works with Model Context Protocol, PostHog, GitHub and Notion. The repository describes itself as: PostHog FOSS is a read-only mirror of PostHog, with all proprietary code removed. NOTE: This repo is synced automatically from the main PostHog repo. Please raise any issues and… The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2c48221. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
img.logo.devus.posthog.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Adding MCP Store Servers loads about 1.6k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 695 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from PostHog/posthog-foss at commit 2c48221, republished under its MIT licence (© PostHog). 695 words, ~1,604 tokens.
.claude/skills/adding-mcp-store-servers/SKILL.md (or your agent's skills folder).The MCP store catalog is code: one entry in products/mcp_store/backend/catalog.py per server.
On deploy, sync_mcp_server_templates upserts entries into MCPServerTemplate rows in every environment — there are no data migrations, no icon assets, and no manual admin steps for most servers.
Adding a server is a small PR to that file.
products/mcp_store/README.md — the catalog pipeline, sync semantics, and operator runbookproducts/mcp_store/backend/catalog.py — existing entries; match their tone and shapeproducts/mcp_store/backend/probe.py — what the probe verifies and what passed_activation_gate meansFind the vendor's remote MCP endpoint.
Check the vendor's docs (search "<vendor> MCP server"); most publish a hosted endpoint like https://mcp.<vendor>.com/mcp.
Only hosted (remote) MCP servers belong in the catalog — local/stdio servers do not.
Cross-check public MCP registries if the docs are unclear.
Probe it.
DEBUG=1 python manage.py probe_mcp_server https://mcp.example.com/mcpThe JSON verdict tells you everything the entry needs:
speaks_mcp: false → the probe could not verify MCP. Stop and re-research — with one exception: reachable: true plus the error "Initialize was rejected and no OAuth metadata was discovered" is the auth-walled API-key case (last bullet below).auth_flavor: "oauth_dcr" with passed_activation_gate: true → OAuth with Dynamic Client Registration. The entry is auth_type="oauth" and will activate automatically on merge.auth_flavor: "oauth_shared" → OAuth without DCR. The entry is auth_type="oauth" but normally ships inactive; an operator must register an OAuth app with the vendor and paste credentials in Django admin (see the operator checklist below — include it in your PR description). If PostHog already provisions that exact OAuth app through an instance credential source, declare the reviewed source instead; catalog sync verifies and activates it without copying secrets.auth_flavor: "open" → the handshake completed without credentials. auth_type="api_key"; activates automatically on merge.auth_flavor: "api_key_or_unknown" with reachable: true → an auth-walled API-key server; a bare 401/403 gives the probe no MCP evidence. auth_type="api_key", but the entry ships inactive — verify it with a real install (Gate B) before adding it, and note in the PR that an operator flips it active in Django admin per environment (users bring their own key; nothing to provision).Author the entry in catalog.py, alphabetically by name:
name — the vendor's own casing ("PagerDuty", not "Pagerduty").description — one sentence, sentence case, verb-first, matching the existing entries ("Manage Linear issues, projects, and team workflows."). No marketing copy.category — the closest of business / data / design / dev / infra / productivity.icon_domain — the vendor's primary brand domain (linear.app, not mcp.linear.app). Verify logo.dev has it: GET /api/projects/@current/hog_functions/icons/?query=<vendor> from a dev session, or check https://img.logo.dev/<domain> renders a real logo.docs_url — the vendor's MCP docs page when they have one.Verify end-to-end when you can (Gate B). The probe covers everything up to the OAuth consent screen. If you have an account with the vendor, complete one real install in local dev: run the stack, install the server from the store UI, finish the OAuth flow (or paste an API key), and confirm the tool list populates. Record the verification tier in the PR description:
Run the checks.
hogli test products/mcp_store/backend/test/test_catalog_sync.pytest_catalog_entries_are_valid catches malformed entries (bad category, duplicate URL, unnormalized icon_domain) before they hit production.
Open the PR — one server per PR, on an mcp-store/-prefixed branch (e.g. mcp-store/add-pagerduty), with a feat(mcp-store) title: feat(mcp-store): add <name> to the MCP server catalog.
State the probe verdict and verification tier in the description.
For oauth_shared servers without an existing instance credential source, include the operator checklist so activation isn't forgotten.
This server does not support Dynamic Client Registration, so it ships inactive. To activate (per environment, US and EU):
- [ ] Register an OAuth app in the vendor's developer console
- [ ] Redirect URI: `https://us.posthog.com/api/mcp_store/oauth_redirect/` (and the EU equivalent)
- [ ] Paste client ID + secret into Django admin → MCP server templates → <name>
- [ ] OAuth metadata was auto-discovered by the sync; run the "Discover metadata" admin action only if it's empty
- [ ] Tick "is active"is_active, oauth_credentials, or oauth_metadata expectations into the catalog — those are operational state owned by the row, not by code.icon_key values — icons resolve from icon_domain via logo.dev at render time.© PostHog, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/adding-mcp-store-servers of PostHog/posthog-foss.
Open the folder on GitHubat commit 2c48221
Adding MCP Store Servers next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Adding MCP Store Servers this skillPostHog/posthog-foss | 721 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Building MCP Server On CloudflareCommandCodeAI/agent-skills | 132 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Superset Integration Toolssuperset-sh/superset | 15k | — | ~1.6k | Automated safety check: Warn | Custom licence | |
| MCP Server Trello Growthdelorenj/mcp-server-trello | 446 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Integrate MCPdavekilleen/Dex | 493 | — | ~2.2k | Automated safety check: Notes | Custom licence | |
| Dev MCP Setupevolution-foundation/evo-nexus | 544 | — | ~615 | Automated safety check: Pass | Custom licence |
CommandCodeAI/agent-skills
Builds remote MCP (Model Context Protocol) servers on Cloudflare Workers with tools, OAuth authentication, and production deployment.
superset-sh/superset
Lists and calls the tools of connected integrations such as Linear, GitHub, Sentry or Notion through the superset mcp command, without storing a token on the machine.
delorenj/mcp-server-trello
Distribution-first growth ledger for @delorenj/mcp-server-trello — grow reach now, defer (but record) monetization.
davekilleen/Dex
Install and wire up an existing MCP server from Smithery.ai or a GitHub repo.
evolution-foundation/evo-nexus
Configure MCP servers for the workspace — web search, filesystem, GitHub, Stripe, etc.
aeonfun/aeon
Live-data research via the glim.sh MCP - web search, full page extraction, X/Twitter, Reddit, GitHub, Amazon, and YouTube transcripts - synthesized into a cited digest.
PostHog/posthog-foss
Author useful, low-noise log alerts on services in a PostHog project.
PostHog/posthog-foss
Operating procedure for the conflict-autoresolver agent: sweep open PostHog/posthog PRs that conflict with master, resolve the trivial conflicts (generated artifacts deterministically, source…
PostHog/posthog-foss
Help users debug PostHog Error Tracking stack-trace symbolication for any supported platform — JavaScript/TypeScript web, React Native (Hermes), Android (Proguard / R8), or iOS / macOS (dSYM).
PostHog/posthog-foss
Investigates distributed application performance using PostHog APM (OpenTelemetry span) data via MCP.
PostHog/posthog-foss
Debug and inspect LLM/AI agent traces using PostHog's MCP tools.
PostHog/posthog-foss
Diagnose why a product metric changed (dropped, spiked, or plateaued) by orchestrating breakdowns, actors, paths, lifecycle, retention, and annotations queries.
Categories
Add a third-party MCP server (Linear, Notion, GitHub, ...) to the PostHog MCP store catalog. Adding MCP Store Servers is an agent skill from PostHog/posthog-foss, published by the product's own GitHub organization.) to the PostHog MCP store catalog.
Adding MCP Store Servers fits situations like: asked to add X to the MCP store; expand the MCP server marketplace; fix a broken catalog entry.
Run `npx skills add PostHog/posthog-foss --skill adding-mcp-store-servers -a claude-code`. Or copy the skill folder (.agents/skills/adding-mcp-store-servers in PostHog/posthog-foss) into .claude/skills/adding-mcp-store-servers in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PostHog/posthog-foss --skill adding-mcp-store-servers -a codex`. Or copy the skill folder (.agents/skills/adding-mcp-store-servers in PostHog/posthog-foss) into .agents/skills/adding-mcp-store-servers in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PostHog/posthog-foss --skill adding-mcp-store-servers -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/adding-mcp-store-servers, .gemini/skills/adding-mcp-store-servers, .github/skills/adding-mcp-store-servers and .opencode/skills/adding-mcp-store-servers in your project.
Going by SKILL.md and its folder, Adding MCP Store Servers needs the command-line tools its instructions call (python). Our summary lists: Python 3.
SKILL.md names 2 domains. In commands or code: img.logo.dev and us.posthog.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Adding MCP Store Servers is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Adding MCP Store Servers: Building MCP Server On Cloudflare (CommandCodeAI/agent-skills, 132 stars), Superset Integration Tools (superset-sh/superset, 15k stars), MCP Server Trello Growth (delorenj/mcp-server-trello, 446 stars) and Integrate MCP (davekilleen/Dex, 493 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
PostHog (a GitHub organization, an official publisher) maintains it in PostHog/posthog-foss, which has 721 GitHub stars. The repository holds 213 skills in this directory. The repository was last updated on October 7, 2026.
Source: PostHog/posthog-foss on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.