VibeStudiosDB/proceed-mcp
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 dayong@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-Lengthframing (also tolerates single-line JSON) - Methods:
get_manifest-> server manifest & capabilitieschat.message-> returns{ response: "proceed" }for questions, ornullif not a question (default mode)health.ping-> simple health responseshutdown-> triggers graceful shutdown
- Configurable response word via CLI flag
--wordorRESPONSE_WORDenv var - Option
--anyto 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-Lengthframed messages and single-line JSON objects ending with a newline for convenience.
Extending
- Add new methods by editing
route()insrc/server/handler.ts. - Introduce authentication by filtering in
handleRawbefore dispatch. - Add metrics by incrementing counters in router methods and emitting a
metrics.getmethod.
License
MIT (add a LICENSE file if distributing externally).