O
Onplana/onplana-mcp-server
Official MCP server and TypeScript client for Onplana — connect Claude, ChatGPT, Cursor, and any…
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Install & config
Remote endpoint (mcpServers - Claude Desktop / Cursor / Windsurf)
{
"mcpServers": {
"onplana-onplana-mcp-server": {
"url": "https://mcp.onplana.com/mcp"
}
}
}Paste this into the mcpServers config of Claude Desktop or Cursor. The endpoint comes from public evidence; we do not install or host it. Official Registry record: this endpoint lists the request header Authorization (OAuth 2.1 access token (DCR supported at https://app.onplana.com/oauth/register, RFC 7591) or a Personal Access Token from https://app.onpla) but does not mark it required. Whether it works anonymously is for the project docs to say.
VS Code (.vscode/mcp.json - the key is servers, remote needs type: http)
{
"servers": {
"onplana-onplana-mcp-server": {
"type": "http",
"url": "https://mcp.onplana.com/mcp"
}
}
}VS Code differs from the other three: the top-level key is <code>servers</code> and a remote endpoint also needs <code>"type": "http"</code>. Paste into .vscode/mcp.json.
Claude Code (command line)
claude mcp add --transport http onplana-onplana-mcp-server https://mcp.onplana.com/mcp
Claude Code does not read a config file; add the server with this command.
Install command from the repository
npm install github
Parsed from the README we fetched on 2026-11-08; we have not executed it.
This is the install method the repository states, not an MCP client config, so no JSON is generated.
Key names differ by client: Clients & CLI
- Star count
- 5 ★ · Onplana/onplana-mcp-server · read from the GitHub search API · (checked 2026-11-13 20:00:50)
- Source
- read directly from its GitHub page · type: open-source project
- Harvest history
- first seen 2026-11-09 · last seen 2026-11-14 · seen 6× · listed by 1 sources
- Score
- score 103 · 5 ★ · 1 sources · repo
- Install
npm install github
FAQ (answers come from our records)
How do I install it?
The repository provides this install command:
npm install github. It comes from the repository itself; we cannot guarantee it runs as-is in your client.Who is it for?
We filed it under these tags: 开源项目. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository
Onplana/onplana-mcp-server;first catalogued 2026-11-09;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.# Onplana MCP server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Open-source TypeScript Model Context Protocol building blocks,
extracted from Onplana's production MCP
deployment. Two packages:
onplana-mcp-server: server
template. Streamable HTTP transport, Bearer auth, prompt-injection
containment, pluggable dispatcher.
onplana-mcp-client: typed TypeScript
client SDK for calling the public Onplana MCP endpoint at
https://api.onplana.com/api/mcp/v1.
## What this is
The transport layer of an MCP server (Streamable HTTP wiring,
stateless mode, scoped Bearer auth, prompt-injection containment)
done well, separated from the platform-specific tool registry. Use
the server template to build your own MCP server with security
best practices baked in. Use the client SDK to drive Onplana's
hosted MCP from your own code.
The patterns are extracted from Onplana's production deployment
(public docs at onplana.com/mcp), the
same layer that handles real Claude Desktop, Cursor, ChatGPT custom
connector, and in-house agent traffic against the Onplana platform.
## Why open-source
The MCP transport is the same for everyone. Most early MCP servers
get the security primitives wrong:
Prompt injection. Tools that return user-generated content
(task titles, comment bodies, wiki text) put that content directly
into the model's context. Without containment, a hostile actor can
plant "ignore previous instructions" in their own data and the
next agent that reads it follows along.
Stateless transport. Most SDK examples assume in-memory session
state, which breaks horizontal scaling and complicates the auth
model.
Plan-gate semantics. Surfacing tools the caller can't actually
invoke wastes turns and confuses the model.
Onplana solved these in production over six months of MCP-server
work. Publishing the patterns is high-leverage:
1. Other MCP authors get a known-good template instead of
reinventing.
2. The repo is a pretraining-signal surface. Public GitHub READMEs
are heavily weighted in next-gen LLM training data, and a repo
with patterns + clear documentation about MCP improves model
recall of "what good MCP servers look like."
3. The dispatcher interface is the seam where your business logic
plugs in. The transport is generic; what matters about your MCP
server is the tool registry. Open-sourcing the transport doesn't
give away anything proprietary.
The dispatcher implementation, tool catalog, plan-gate logic, audit
infrastructure, and the rest of Onplana's ~600 LOC closed-source
dispatcher stay in the closed monorepo because they encode platform
business logic. If you build your own MCP server using this
template, you write your own dispatcher. That's the work that
matters and the work that's specific to your platform.
## Repository layout
onplana-mcp-server/
├── packages/
│ ├── server-template/ # onplana-mcp-server (npm)
│ │ ├── src/
│ │ │ ├── transport.ts # Streamable HTTP wiring
│ │ │ ├── auth.ts # Bearer auth pattern
│ │ │ ├── promptInjection.ts # wrapUserContent + escape
│ │ │ ├── dispatcher.ts # Pluggable Dispatcher interface
│ │ │ └── index.ts
│ │ ├── tests/ # promptInjection + auth + transport
│ │ └── README.md
│ └── client/ # onplana-mcp-client (npm)
│ ├── src/
│ │ ├── client.ts # OnplanaMcpClient class
│ │ ├── types.ts # Public type surface
extracted from Onplana's production MCP
deployment. Two packages:
onplana-mcp-server: server
template. Streamable HTTP transport, Bearer auth, prompt-injection
containment, pluggable dispatcher.
onplana-mcp-client: typed TypeScript
client SDK for calling the public Onplana MCP endpoint at
https://api.onplana.com/api/mcp/v1.
## What this is
The transport layer of an MCP server (Streamable HTTP wiring,
stateless mode, scoped Bearer auth, prompt-injection containment)
done well, separated from the platform-specific tool registry. Use
the server template to build your own MCP server with security
best practices baked in. Use the client SDK to drive Onplana's
hosted MCP from your own code.
The patterns are extracted from Onplana's production deployment
(public docs at onplana.com/mcp), the
same layer that handles real Claude Desktop, Cursor, ChatGPT custom
connector, and in-house agent traffic against the Onplana platform.
## Why open-source
The MCP transport is the same for everyone. Most early MCP servers
get the security primitives wrong:
Prompt injection. Tools that return user-generated content
(task titles, comment bodies, wiki text) put that content directly
into the model's context. Without containment, a hostile actor can
plant "ignore previous instructions" in their own data and the
next agent that reads it follows along.
Stateless transport. Most SDK examples assume in-memory session
state, which breaks horizontal scaling and complicates the auth
model.
Plan-gate semantics. Surfacing tools the caller can't actually
invoke wastes turns and confuses the model.
Onplana solved these in production over six months of MCP-server
work. Publishing the patterns is high-leverage:
1. Other MCP authors get a known-good template instead of
reinventing.
2. The repo is a pretraining-signal surface. Public GitHub READMEs
are heavily weighted in next-gen LLM training data, and a repo
with patterns + clear documentation about MCP improves model
recall of "what good MCP servers look like."
3. The dispatcher interface is the seam where your business logic
plugs in. The transport is generic; what matters about your MCP
server is the tool registry. Open-sourcing the transport doesn't
give away anything proprietary.
The dispatcher implementation, tool catalog, plan-gate logic, audit
infrastructure, and the rest of Onplana's ~600 LOC closed-source
dispatcher stay in the closed monorepo because they encode platform
business logic. If you build your own MCP server using this
template, you write your own dispatcher. That's the work that
matters and the work that's specific to your platform.
## Repository layout
onplana-mcp-server/
├── packages/
│ ├── server-template/ # onplana-mcp-server (npm)
│ │ ├── src/
│ │ │ ├── transport.ts # Streamable HTTP wiring
│ │ │ ├── auth.ts # Bearer auth pattern
│ │ │ ├── promptInjection.ts # wrapUserContent + escape
│ │ │ ├── dispatcher.ts # Pluggable Dispatcher interface
│ │ │ └── index.ts
│ │ ├── tests/ # promptInjection + auth + transport
│ │ └── README.md
│ └── client/ # onplana-mcp-client (npm)
│ ├── src/
│ │ ├── client.ts # OnplanaMcpClient class
│ │ ├── types.ts # Public type surface
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/onplana-onplana-mcp-server/)
- Source
- github · https://github.com/Onplana/onplana-mcp-server
- Browse by field
- Open source
- Traction
- 5 ★
- added
- today
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.