proceed-mcp

VibeStudiosDB/proceed-mcp

3.3

If you are the rightful owner of proceed-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The MCP Proceed Server is a minimal JSON-RPC 2.0 server that responds to chat messages, particularly questions, with a configurable response word.

MCP Proceed Server

A minimal Model Context Protocol style JSON-RPC 2.0 server over stdio that responds to chat messages with the word proceed when they are phrased as questions (end with ?). Optionally it can respond to all messages.

Features

  • JSON-RPC 2.0 over stdio with LSP-like Content-Length framing (also tolerates single-line JSON)
  • Methods:
    • get_manifest -> server manifest & capabilities
    • chat.message -> returns { response: "proceed" } for questions, or null if not a question (default mode)
    • health.ping -> simple health response
    • shutdown -> triggers graceful shutdown
  • Configurable response word via CLI flag --word or RESPONSE_WORD env var
  • Option --any to respond regardless of question mark
  • Structured JSON logs to stderr (incoming / outgoing)

Install / Build

npm install
npm run build

Run

node dist/server/index.js

Or (after linking or installing) simply:

mcp-proceed-server

Options

-w, --word <word>   Set response word (default: proceed or $RESPONSE_WORD)
--any               Respond to any message (not just questions)
-h, --help          Show help

Protocol Examples

Send a framed request (example using printf):

printf 'Content-Length: 66\r\n\r\n{"jsonrpc":"2.0","id":1,"method":"chat.message","params":{"text":"Ready?"}}' | node dist/server/index.js

Response (framed):

Content-Length: 55

{"jsonrpc":"2.0","id":1,"result":{"response":"proceed"}}

Non-question example:

printf 'Content-Length: 75\r\n\r\n{"jsonrpc":"2.0","id":2,"method":"chat.message","params":{"text":"Say something"}}' | node dist/server/index.js

Default response (questionOnly mode):

{"jsonrpc":"2.0","id":2,"result":{"response":null,"reason":"not-a-question"}}

Demo Script

After build:

node dist/client/demo.js

Shows manifest, a question (returns proceed), and a non-question (null).

Integration Notes

  • Designed to be embedded as an MCP-like tool provider where a client orchestrates requests.
  • All stdout is reserved for protocol frames. Logs are on stderr only.
  • Parser tolerates both proper Content-Length framed messages and single-line JSON objects ending with a newline for convenience.

Extending

  • Add new methods by editing route() in src/server/handler.ts.
  • Introduce authentication by filtering in handleRaw before dispatch.
  • Add metrics by incrementing counters in router methods and emitting a metrics.get method.

License

MIT (add a LICENSE file if distributing externally).