MCP Framework

MCP Framework

MCP Framework 是一个基于 TypeScript 的框架,用于构建模型上下文协议(MCP)服务器。它支持自动发现工具、资源和提示,提供多种传输方式和类型安全特性,适用于快速开发 AI 模型交互系统。

157 浏览
2025-12-09 发布

详细介绍

MCP Framework 是一个基于 TypeScript 的框架,用于构建模型上下文协议(MCP)服务器。它提供开箱即用的架构,支持自动发现工具、资源和提示,具备多种传输方式(如标准输入输出、SSE 和 HTTP 流)以及类型安全特性,适用于快速开发 AI 模型交互系统。

核心功能

MCP Framework 提供了多种核心功能,帮助开发者高效构建和管理 MCP 服务器:

  • 自动发现与加载:框架会自动识别并加载工具、资源和提示词,无需手动配置。
  • 多传输支持:支持多种传输方式,包括标准输入输出、SSE 和 HTTP 流,适用于不同的应用场景。
  • TypeScript 开发体验:提供完整的 TypeScript 类型支持,确保代码的可靠性和可维护性。
  • SSE 端点认证:支持 JWT 和 API Key 认证,用于保护 SSE 端点。
  • 模块化中间件:通过中间件机制实现功能扩展,如日志记录、错误处理等。

安装方法

安装 MCP Framework 非常简单,可以通过 npm 全局安装:

npm install -g mcp-framework

安装完成后,可以使用命令行工具创建和管理项目。

使用方法

使用 MCP Framework 创建一个 MCP 服务器,可以按照以下步骤进行:

创建新项目

mcp create my-mcp-server

添加工具和资源

mcp add tool price-fetcher

启动服务器

npm run start

基础服务器配置示例

import { MCPServer } from 'mcp-framework';

const server = new MCPServer({
  transport: {
    type: 'sae',
    options: {
      port: 3000,
      host: 'localhost'
    }
  }
});

server.start();

SSE 传输高级配置示例

import { MCPServer, SSETransportOptions } from 'mcp-framework';

const server = new MCPServer({
  transport: {
    type: 'sae',
    options: {
      port: 3000,
      host: 'localhost',
      path: '/events',
      maxReconnectionDelay: 5000
    }
  }
});

server.start();

HTTP 流传输配置示例

import { MCPServer, HTTPStreamOptions } from 'mcp-framework';

const server = new MCPServer({
  transport: {
    type: 'http-stream',
    options: {
      port: 3000,
      host: 'localhost',
      path: '/stream',
      responseMode: 'batch',
      batchTimeout: 30000
    }
  }
});

server.start();

JWT 认证配置示例

import { MCPServer, JWTAuthProvider } from 'mcp-framework';

const server = new MCPServer({
  transport: {
    type: 'sae',
    options: {
      auth: {
        provider: new JWTAuthProvider({
          secret: process.env.JWT_SECRET,
          algorithms: ['HS256']
        }),
        endpoints: {
          sse: true
        }
      }
    }
  }
});

server.start();

API Key 认证配置示例

import { MCPServer, APIKeyAuthProvider } from 'mcp-framework';

const server = new MCPServer({
  transport: {
    type: 'sae',
    options: {
      auth: {
        provider: new APIKeyAuthProvider({
          secret: process.env.API_KEY_SECRET
        })
      }
    }
  }
});

server.start();

日志记录配置示例

import { MCPServer, Logger } from 'mcp-framework';

const logger = new Logger({
  level: 'info',
  handlers: [
    {
      type: 'file',
      path: './logs/app.log'
    }
  ]
});

const server = new MCPServer({
  transport: {
    type: 'sae',
    options: {
      port: 3000,
      host: 'localhost'
    }
  },
  logger
});

server.start();

错误处理配置示例

import { MCPServer } from 'mcp-framework';

const server = new MCPServer({
  transport: {
    type: 'sae',
    options: {
      port: 3000,
      host: 'localhost'
    }
  },
  errorHandlers: [
    (error, context) => {
      console.error('Custom error handler:', error);
      context.reply(500, 'Internal Server Error');
    }
  ]
});

server.start();

使用场景

MCP Framework 适用于需要快速构建 AI 模型交互系统的开发者,无论是开发桌面应用还是云服务,它都能提供强大的支持。例如:

  • 构建实时数据流服务,如股票价格推送、聊天机器人等。
  • 开发需要与 AI 模型进行交互的后端服务。
  • 集成到现有系统中,作为独立的 MCP 服务模块。

注意事项

在使用 MCP Framework 时,需要注意以下几点:

  • 对于高级功能,可能需要一定的技术背景。
  • 某些高级特性可能需要额外配置。
  • 确保正确配置认证和日志记录,以保障服务的安全性和可维护性。

MCP Framework 通过提供灵活的配置和强大的功能模块,简化了实时通信应用的开发过程。无论是 SSE 还是 HTTP 流传输,用户都可以根据需求选择合适的方案,并通过丰富的中间件扩展服务功能。

TypeScript 云服务 MCP开发

相关服务推荐

查看更多