返回 MCP 目录
public公开dns本地运行

litemcp

LiteMCP是一个TypeScript框架,用于优雅地构建MCP(模型上下文协议)服务器。它提供了工具、资源和提示的定义,支持全TypeScript开发,内置日志记录、错误处理和CLI调试工具,以及SSE传输支持。

article

README

🚀 LiteMCP 中文文档

LiteMCP 是一个 TypeScript 框架,可用于优雅地构建 MCP(模型上下文协议)服务器,为开发者提供便捷高效的开发体验。

⚠️ 重要提示

由于官方 SDK 已经提供了与本项目类似的高级别 API,因此该项目将不再维护。

如果你喜欢此项目中的 CLI 命令,请独立使用它们:https://github.com/wong2/mcp-cli

✨ 主要特性

  • 支持简单工具、资源、提示定义。
  • 提供完整的 TypeScript 支持。
  • 内置 日志记录 功能。
  • 具备内置错误处理机制。
  • 内置 CLI 用于 测试和调试
  • 内置对 SSE 传输 的支持。

📦 安装指南

npm install litemcp zod

🚀 快速开始

import { LiteMCP } from "litemcp";
import { z } from "zod";

const server = new LiteMCP("demo", "1.0.0");

server.addTool({
  name: "add",
  description: "添加两个数字",
  parameters: z.object({
    a: z.number(),
    b: z.number(),
  }),
  execute: async (args) => {
    return args.a + args.b;
  },
});

server.addResource({
  name: "resource-example",
  description: "这是一个示例资源",
  content: "Hello, World!",
});

server.start();

运行以下命令以测试服务器:

node server.js

📚 详细文档

核心概念

工具(Tools)

工具是定义可以执行操作的函数。例如,一个简单的计算器工具。

server.addTool({
  name: "calculator",
  description: "A simple calculator",
  parameters: z.object({
    a: z.number(),
    b: z.number(),
  }),
  async execute(args) {
    return { 
      add: args.a + args.b,
      subtract: args.a - args.b
    };
  },
});

资源(Resources)

资源表示可以访问的静态内容或动态生成的内容。

server.addResource({
  name: "static-resource",
  description: "A static resource example",
  content: "This is a static resource.",
});

server.addDynamicResource(async () => {
  return {
    name: "dynamic-resource",
    description: "A dynamic resource example",
    content: await fetch('https://api.example.com/data'),
  };
});

提示(Prompts)

提示用于定义交互式对话流程。

server.addPrompt({
  name: "greeting-prompt",
  description: "A simple greeting prompt",
  async execute() {
    const name = await server.prompt("请输入你的名字:");
    return `你好,${name}!`;
  },
});

日志记录(Logging)

LiteMCP 提供了内置的日志记录功能。

server.log("信息日志");
server.debug("调试日志");
server.error("错误日志");

运行你的服务器

启动服务器

默认情况下,服务器使用 stdio 传输:

server.start();

你也可以指定自定义端口和其他选项:

server.start({
  port: 3000,
  hostname: 'localhost',
});

调试和日志记录

你可以通过以下命令进行调试:

node server.js --inspect

同时,LiteMCP 提供了内置的调试功能:

server.debug("调试信息");

SSE 传输

服务器默认运行 stdio 传输。你也可以使用 SSE 模式:

server.start({
  transportType: "sse",
  sse: {
    endpoint: "/sse",
    port: 8080,
  },
});

这将启动服务器并在 http://localhost:8080/sse 监听 SSE 连接。

展示

如果你使用 LiteMCP 开发了服务器,请通过提交 PR 的方式展示在这里!

发展计划

  • 添加对资源模板的支持

相关项目

  • mcp-cli - 用于测试和调试 MCP 服务器的 CLI
  • mcpservers.org - 精选的 MCP 服务器列表
  • FastMCP - 一个用于 MCP 服务器开发的 Python 库,本项目的灵感来源
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端