项目简介

Fluent MCP 是一个基于 Model Context Protocol (MCP) 构建服务器的库,它提供了一种链式的、流畅的 API 风格,旨在帮助开发者用最少的代码构建 MCP 服务器。该库封装了底层 MCP SDK 的复杂性,并内置了资源管理和自动生成 CRUD (创建、读取、更新、删除) 工具的功能。

主要功能点

  • 流畅链式 API: 提供类似 jQuery 的易用接口,通过方法链来配置和构建 MCP 服务器。
  • 内置资源管理: 提供简便的方式来托管和管理服务器内部的数据资源。
  • 自动生成 CRUD 工具: 对于定义的资源,可以自动创建符合 MCP 标准的 CRUD 工具,无需手动实现。
  • 工具定义: 支持注册自定义工具,扩展服务器的功能,供 LLM 调用。
  • 传输协议支持: 支持标准的 MCP 传输协议,例如 Stdio (标准输入输出)。
  • TypeScript 支持: 提供完整的类型定义,增强代码健壮性。

安装步骤

使用 npm 或 yarn 进行安装:

npm install @jasonkneen/fluent-mcp
# 或
yarn add @jasonkneen/fluent-mcp

服务器配置

MCP 服务器通常通过启动命令与 MCP 客户端(如 LLM 应用)建立连接。MCP 客户端需要知道如何启动您的服务器进程以及传递必要的参数。使用 Fluent MCP 构建的服务器,其配置信息通常以 JSON 格式提供给客户端,内容类似于:

{
  "name": "您的服务器名称 (例如: My Notes API)",
  "command": "node",
  "args": ["path/to/your/server/script.js"]
}
  • 'name': 您在创建 MCP 服务器时指定的名称。
  • 'command': 启动 Node.js 进程的命令,通常是 'node'。
  • 'args': 传递给 'command' 的参数列表,其中最重要的通常是您编写的使用 Fluent MCP 库创建和启动服务器的那个 JavaScript 或 TypeScript 文件的路径。请将 'path/to/your/server/script.js' 替换为您实际项目中的服务器启动文件路径。

基本使用方法

使用 Fluent MCP 构建服务器的基本流程如下:

  1. 导入 'createMCP' 函数。
  2. 调用 'createMCP' 创建服务器实例,并指定服务器名称和版本。
  3. 使用 '.resource()' 定义服务器将管理的资源类型(例如:'Notes')。
  4. 使用 '.crud()' 为定义的资源自动生成标准的 CRUD 工具(例如:'createNote', 'getNote', 'updateNote', 'deleteNote', 'getAllNotes'),并定义资源的结构(例如:'title', 'content')。
  5. (可选)使用 '.tool()' 定义任何其他自定义工具。
  6. 使用 '.stdio()' 配置服务器使用 Stdio 传输协议。
  7. 调用 '.start()' 启动服务器,使其开始监听 MCP 客户端的请求。

示例代码片段(JavaScript):

import { createMCP, z } from '@jasonkneen/fluent-mcp';

const server = createMCP('My Example API', '1.0.0')
  .resource('Items', {}) // 定义一个名为 Items 的资源存储
  .crud('Item', {        // 为 Item 资源定义 CRUD 工具
    name: z.string().describe('The name of the item'),
    value: z.number().optional().describe('The value of the item')
  })
  // ... 可以添加更多资源和工具
  .stdio() // 启用 Stdio 传输
  .start(); // 启动服务器

console.log('MCP Server started with Stdio transport.');

编写好服务器脚本后,按照上述“服务器配置”部分生成客户端所需的 JSON 配置,即可让 MCP 客户端连接并与您的服务器交互,利用其提供的资源访问和工具能力。

信息

分类

AI与计算