MCP stdio 代理

Meldoc MCP stdio proxy 是一个将 stdio 协议的 MCP 客户端请求转发至 Meldoc 托管 MCP 服务器的代理工具,适用于只能启动本地进程而无法直接连接远程 MCP 的客户端。

  • by meldoc-io
  • JavaScript
  • 混合部署
  • 更新于
在 GitHub 查看 meldoc-io/mcp-stdio-proxy

使用说明

Meldoc MCP stdio proxy

Most MCP clients don't need this package. Meldoc runs a hosted MCP server at https://api.meldoc.io/mcp (Streamable HTTP, OAuth sign-in or a Bearer token). Claude.ai, Claude Desktop, Claude Code, Cursor, VS Code and Windsurf connect to it directly — see Getting started with MCP.

This package is a stdio bridge to that server, for a client that can only start a local process and cannot use mcp-remote. It forwards every request to the hosted server, so the tools are the same — see the MCP tools reference.

Claude Code plugin

This repository is also a Claude Code plugin marketplace. The plugin connects Claude Code to the hosted server directly, without this package:

claude plugin marketplace add meldoc-io/mcp-stdio-proxy
claude plugin install meldoc-mcp@meldoc-mcp

Then run /mcp in Claude Code, pick the Meldoc server and choose Authenticate.

The plugin also brings two skills, meldoc-format (frontmatter, ordering, links) and meldoc-writing (how to write the text). They are the same files published at meldoc.io/skills.

Setup

Requires Node.js 18 or newer.

Add the proxy to your client's MCP configuration:

{
  "mcpServers": {
    "meldoc": {
      "command": "npx",
      "args": ["-y", "@meldocio/mcp-stdio-proxy@latest"]
    }
  }
}

Or let the installer write it: npx @meldocio/mcp-stdio-proxy@latest install [claude-desktop|cursor|cursor-global|claude-code] (uninstall removes it from Claude Desktop).

Then sign in once:

npx @meldocio/mcp-stdio-proxy@latest auth login

auth login shows a device code and opens the browser; auth login --pkce uses OAuth with PKCE instead. The session is stored in ~/.meldoc/credentials.json and refreshed automatically. auth status and auth logout do what they say.

Using a token instead

Create an integration token in Meldoc (Integration Tokens → Create token) and pass it in the environment:

"env": { "MELDOC_ACCESS_TOKEN": "mdc_your_token" }

The proxy looks for a token in this order: MELDOC_ACCESS_TOKEN, the saved session, MELDOC_MCP_TOKEN.

Workspaces

If your account belongs to several workspaces, the proxy pins one on every request, taken from:

  1. workspaceAlias in a meldoc.config.yml in the current directory or a parent, then
  2. the default set with npx @meldocio/mcp-stdio-proxy@latest config set-workspace <alias> (stored in ~/.meldoc/config.json).

A workspaceAlias argument on a single tool call still overrides the pin. config list-workspaces lists what you can reach.

Local tools

On top of the server's tools, the proxy answers these itself: auth_status, auth_login_instructions, get_workspace and set_workspace (the last two read and write the default above).

Development

npm install
npm test

npm run test:local runs the suite against a local API (localhost:8080). npm run publish:patch (or publish:minor) bumps the version, runs the tests and publishes package.json as it is.

License

MIT — see LICENSE.

Support