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 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 & capabilitieschat.message
-> returns{ response: "proceed" }
for questions, ornull
if not a question (default mode)health.ping
-> simple health responseshutdown
-> triggers graceful shutdown
- Configurable response word via CLI flag
--word
orRESPONSE_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()
insrc/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).