MCP服务器开发SDK

QuickMCP-SDK是一个简化的TypeScript SDK,用于快速构建MCP(Model Context Protocol)服务器,提供高性能、安全性和企业级功能。

  • by RaheesAhmed
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 RaheesAhmed/QuickMCP

使用说明

The easiest way to build MCP servers in TypeScript

Quick Start • Features • Examples • Documentation


QuickMCP SDK是一个用于MCP(模型上下文协议)开发的简化TypeScript SDK,它在提供强大功能的同时消除了复杂性。在几分钟内构建MCP服务器,而不是几小时。

主要特点

  • 简单API:直观、流畅、有效的API
  • 高性能:使用LRU缓存,模式验证速度提高10倍
  • 现代装饰:使用TypeScript装饰器的干净、声明性代码
  • 双重运输:HTTP和STDIO都支持会话管理
  • 安全:JWT,API密钥,内置OAuth2身份验证
  • 生产监控:实时指标、健康检查、限速
  • 开发者工具:用于脚手架、热重载、测试实用程序的CLI
  • 智能模式:简单的架构定义,没有复杂的验证库
  • 企业就绪:身份验证、速率限制、度量和监控

快速开始

安装

# Install the latest version from npm
npm install quickmcp-sdk@latest

# Or with yarn
yarn add quickmcp-sdk@latest

# Or with pnpm
pnpm add quickmcp-sdk@latest

基本服务器(30秒)

import { createServer, Responses, Schema } from 'quickmcp-sdk';

const server = createServer({ name: 'my-server' });

server.tool('greet', async (args) => {
  const { name } = args as { name: string };
  return Responses.success({ greeting: `Hello, ${name}!` });
}, {
  description: 'Greet someone',
  schema: Schema.build({ name: 'string' })
});

await server.start();

企业HTTP服务器

import { createServer, Responses, Resources, Prompts } from 'quickmcp-sdk';

const server = createServer({
  name: 'enterprise-api',
  transport: 'http',
  http: { 
    port: 3000, 
    enableCors: true,
    sessionManagement: true
  }
});

// Tools for business logic
server.tool('createUser', async (args) => {
  const { name, email } = args as { name: string; email: string };
  return Responses.success({ 
    id: Math.random().toString(36),
    name, 
    email,
    createdAt: new Date().toISOString()
  });
}, {
  description: 'Create a new user account',
  schema: { name: 'string', email: 'string' }
});

// Resources for data access
server.resource('config', async ({ uri }) => {
  return Resources.json(uri, { 
    apiVersion: '1.0.0',
    features: ['auth', 'metrics', 'cors']
  });
}, {
  uri: 'config://app',
  description: 'Application configuration'
});

// Prompts for AI interactions
server.prompt('codeReview', async (args) => {
  const { language } = args as { language: string };
  return Prompts.user(`Review this ${language} code for best practices`);
}, {
  description: 'Generate code review prompts',
  schema: { language: 'string' }
});

await server.start();

性能比较

功能 QuickMCP 官方SDK 改进
架构验证 5ms 50ms 快90%
内存使用 合并对象 高GC 减少60%
请求吞吐量 1000+请求/秒 200请求/秒 速度提高5倍
设置复杂性 3行 15+行 代码减少80%

企业功能

身份验证和安全

import { AuthMiddleware, RateLimitMiddleware } from 'quickmcp-sdk/middleware';

// JWT Authentication
const auth = new AuthMiddleware({
  type: 'bearer',
  secret: process.env.JWT_SECRET
});

// Rate Limiting
const rateLimit = new RateLimitMiddleware({
  points: 100, // requests
  duration: 60  // per minute
});

server.use(auth.middleware);
server.use(rateLimit.middleware);

实时度量

import { MetricsMiddleware } from 'quickmcp-sdk/middleware';

const metrics = new MetricsMiddleware();
server.use(metrics.middleware);

// Get comprehensive metrics
console.log(metrics.getMetrics());
// {
//   uptime: 123456,
//   totalRequests: 5420,
//   errorRate: 0.02,
//   avgResponseTime: 45,
//   toolCalls: { "createUser": 156, "getData": 89 }
// }

性能优化

import { schemaCache, responsePool } from 'quickmcp-sdk/performance';

// Automatic schema caching (90% faster validation)
// Automatic response object pooling (60% less memory)

// Get cache statistics
console.log(schemaCache.getStats());
// { hits: 1580, misses: 23, hitRate: 0.985 }

示例

1.基本计算器(STDIO)

node examples/01-basic-calculator/index.ts
  • 简单的数学运算
  • 错误处理
  • 基本模式验证

2.天气服务(HTTP)

node examples/02-weather-decorators/index.ts
  • 基于装饰器的工具
  • HTTP API集成
  • 模拟数据处理

3、企业API(生产)

node examples/03-enterprise-api/index.ts
  • 用户管理
  • 数据处理
  • 分析报告
  • 资源模板
  • AI提示

4.测试客户端

node examples/04-test-client/test-client.js
  • 完成MCP客户端交互
  • 会话管理
  • 所有基本类型(工具、资源、提示)

5.文件系统MCP服务器

node examples/05-filesystem-mcp-server/index.js
  • 文件操作(读、写、列表、搜索)
  • 目录管理
  • 用于文件访问的资源模板
  • 完整的文件系统集成

6.远程HTTP服务器✨ 新

# Terminal 1 - Start server
node examples/06-remote-http-server/index.ts

# Terminal 2 - Test client
node examples/06-remote-http-server/test-client.js
  • 现代流式HTTP传输
  • 会话管理 用于有状态连接
  • CORS已启用 用于浏览器访问
  • 多个并发客户端 支持
  • 实时SSE通知
  • 配有测试客户端和文档
  • 生产就绪HTTP MCP服务器示例

为什么选择QuickMCP?

功能 QuickMCP 官方SDK FastMCP(Python)
语言 TypeScript TypeScript Python
设置复杂性 ⭐⭐⭐⭐⭐ ⭐⭐ ⭐⭐⭐⭐
演出 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐
企业功能 ⭐⭐⭐⭐⭐ ⭐ ⭐⭐⭐⭐
开发者体验 ⭐⭐⭐⭐⭐ ⭐⭐ ⭐⭐⭐⭐
文档 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐

🔧 API 参考

服务器创建

const server = createServer({
  name: 'my-server',
  transport: 'http' | 'stdio',
  http: { port: 3000, enableCors: true },
  debug: true
});

工具

// Fluent API
server.tool('toolName', handler, config);

// With full configuration
server.tool('processData', async (args) => {
  return Responses.success(result);
}, {
  description: 'Process data with operations',
  schema: Schema.build({
    data: 'array',
    operations: 'array'  
  })
});

资源

// Static resource
server.resource('config', handler, {
  uri: 'config://app',
  description: 'App configuration'
});

// Template resource  
server.resource('userProfile', handler, {
  uri: 'users://{userId}/profile',
  isTemplate: true
});

响应助手

// Success responses
return Responses.success(data, message);
return Responses.list(items, message);
return Responses.links(linkArray);

// Error responses
return Responses.error(message, details);

// Direct responses
return "Simple text";
return { data: "value" };
return [Response.text("Hi"), Response.json(data)];

🚦 入门指南

安装QuickMCP

npm install quickmcp-sdk

📚 完整的文件

有关包括所有模式、示例和最佳实践的全面文档,请参阅我们的 完整的法学硕士指南 -专为AI模型和开发人员设计,以有效理解和实施QuickMCP服务器。

LLM指南中有什么:

  • 📖 完整的API参考资料和示例
  • 🛠️ 高级模式和最佳实践
  • 🏗️ 企业服务器实施
  • 🎯 真实世界的用例和解决方案
  • 🚀 性能优化技术

贡献

我们欢迎捐款!请参阅我们的投稿指南以了解详细信息。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。


QuickMCPTypeScript MCP框架使企业开发变得简单而愉快! 🚀

内置于❤️ 对于MCP社区来说。