项目简介
Lite MCP for Javascript (Lite mcp for javascript) 是一个轻量级的 Model Context Protocol (MCP) 服务器和客户端 SDK,使用 Javascript 开发。该项目旨在简化 AI Agent 应用的后端开发,降低 MCP 服务器的搭建和使用门槛,即使是 Javascript 初学者也能快速上手。它专注于使用 Server-Sent Events (SSE) 实现远程通信,移除了对 stdio 等其他传输协议的支持,力求提供一个简洁高效的 MCP 解决方案。
主要功能点
- MCP 服务器实现: 提供基于 Javascript 的 MCP 服务器端框架,支持资源 (Resources)、工具 (Tools) 和 Prompt 模板 (Prompts) 的管理和调用 (尽管示例中主要展示了 Tools 功能,但框架具备扩展支持其他 MCP 核心概念的能力)。
- 工具 (Tools) 注册与执行: 允许开发者注册自定义工具,并通过 MCP 协议供 LLM 客户端调用,实现外部功能扩展。示例代码展示了如何定义和注册工具,并处理客户端的工具调用请求。
- SSE 传输: 采用 Server-Sent Events (SSE) 作为主要的远程通信方式,简化了服务器和客户端之间的连接和数据传输。
- 轻量级 SDK: 提供精简的 Javascript SDK,降低依赖,方便集成和部署。
- 快速上手: 提供简洁的 API 和示例代码,帮助用户快速搭建和运行 MCP 服务器及客户端。
安装步骤
- 安装 npm 包: 在你的项目目录下,使用 npm 安装 'litemcpjs'、'express' 和 'cors'。
npm install litemcpjs npm install express npm install cors
服务器配置
为了让 MCP 客户端连接到 Lite MCP 服务器,你需要提供服务器的配置信息。以下是一个 JSON 格式的配置示例,你可以根据实际情况进行调整:
{ "serverName": "LiteMCP_Server", // 自定义服务器名称 "command": "node", // 运行服务器的命令,通常是 node "args": [ // 命令参数 "server.js" // 你的 MCP 服务器启动脚本的文件名,例如 server.js ], "使用说明": "请确保在 MCP 客户端配置中,command 指向 Node.js 环境,args 指向实际的服务器启动脚本路径。你需要将快速上手示例中的服务器代码保存为 server.js (或其他你指定的名称),并确保 Node.js 可以执行该脚本。" }
server.js 示例 (参考快速上手示例创建 server.js 文件):
const { MCPServerInit } = require("litemcpjs"); const express = require('express'); const cors = require('cors'); // 定义工具 (Tools) const TOOLS = [ { name: "calculate-bmi", description: "Calculate the BMI of a person", inputSchema: { type: "object", properties: { weightKg: { type: "number" }, heightM: { type: "number" }, }, required: ["weightKg", "heightM"], }, method: async ({ weightKg, heightM }) => { return { content: [{ type: "text", text: String(weightKg / (heightM * heightM)) }] } } } ]; // 定义额外的处理器 (handlers),例如资源 (resources) 等,此处为空 const handlers = {}; // 定义中间件 (middlewares),例如 cors const middlewares = [ cors() ]; const MCPapp = express(); const MCPServer = MCPServerInit( MCPapp, middlewares, handlers, TOOLS, ).listen(5556, () => { console.log("MCP Server started on port 5556"); });
启动服务器:
在包含 'server.js' 文件的目录下,运行以下命令启动 MCP 服务器:
node server.js
基本使用方法
- 启动 MCP 服务器: 按照服务器配置说明启动你的 MCP 服务器。
- 创建 MCP 客户端: 使用 'MCPClient' 类创建一个客户端实例,并指定服务器的 URL。
- 连接到服务器: 调用 'client.connect()' 方法连接到 MCP 服务器。
- 列出工具: 调用 'client.listTools()' 方法获取服务器注册的工具列表。
- 调用工具: 调用 'client.callTool(toolName, params)' 方法调用指定的工具,并传递参数。
客户端代码示例 (参考快速上手示例):
import { MCPClient } from "litemcpjs"; async function main() { const client = new MCPClient("http://localhost:5556") // 替换为你的服务器 URL,端口与 server.js 中监听的端口一致 await client.connect() await client.listTools() const result = await client.callTool("calculate-bmi", {weightKg: 70, heightM: 1.75}) console.log(result) } main();
运行客户端:
确保你已经安装了 'litemcpjs' 包,并将上述客户端代码保存为例如 'client.js',然后运行:
node client.js
你将在控制台看到工具调用的结果。
信息
分类
开发者工具