主题
MCP
⭐ 前置知识
通信方式:stdio
stdio:standard input/output,标准输入输出流。

js
process.stdin.setEncoding('utf-8')
process.stdin.on('data', (data) => {
data = data.replace(/[??]/g, '').replace(/我/g, '你').replace(/你/g, '我').replace(/吗/g, '')
const resp = `AI: ${data}\n`
process.stdout.write(resp)
})通信格式:JSON-RPC
JSON-RPC:JSON-based Remote Procedure Call,基于 JSON 的远程过程调用协议。
json
{
"jsonrpc": "2.0",
"id": 1,
"method": "greet",
"params": {
"name": "Alice"
}
}json
{
"jsonrpc": "2.0",
"id": 1,
"result": "Hello, Alice!"
}伪代码:
js
import utils from './utils.js'
process.stdin.on('data', (data) => {
const req = JSON.parse(data)
const funName = req.method
const params = req.params
const result = utils[funName](params)
const resp = {
jsonrpc: '2.0',
id: req.id,
result,
}
process.stdout.write(JSON.stringify(resp) + '\n')
})