,

MCP 通信JSON-RPC2.0

通信格式 通信涉及到数据传输,数据传输的格式有多种: JSON-RPC2.0 英语全称为 JSON Remot…

通信格式

通信涉及到数据传输,数据传输的格式有多种:

  • xml
  • json
  • 字符串

JSON-RPC2.0

英语全称为 JSON Remote Procedure Call,远程函数调用。

request

{
 "jsonrpc": "2.0",
 "method": "sum",
 "params": {
   "a": 5,
   "b": 6
},
 "id": 1
}

response

{
 "jsonrpc": "2.0",
 "result": 11,
 "id": 1
}

server.js

const utils = require("./utils.js");
process.stdin.on("data", (data) => {
  const req = JSON.parse(data);
  const funcName = req.method;
  const params = req.params;
  // 调用方法
  const result = utils[funcName](params);
  // 返回符合 JSON-RPC2.0 格式的响应
  const res = {
    jsonrpc: "2.0",
    result,
    id: req.id,
  };
  process.stdout.write(JSON.stringify(res) + "\n");
});

utils.js

const fs = require("fs");
module.exports = {
  sum({ a, b }) {
    return a + b;
  },
  createFile({ filename, content }) {
    try {
      fs.writeFileSync(filename, content);
      return true;
    } catch (error) {
      console.log(error);
      return false;
    }
  },
};

Previous Post

Next Post

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

About the Author

每个人都有自己得时区,在自己得时区里,一切都是准时的。

BlockSpare — News, Magazine and Blog Addons for (Gutenberg) Block Editor