Token导航 LogoToken导航TokenDH.com
Go MCP Framework logo
运维云端未说明官方级别未说明来源级核验

Go MCP Framework

MCP Server

用于构建支持实时流、企业认证和智能缓存的MCP服务器的Go框架,适用于高性能生产环境部署。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
服务器开发Go云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SaherElMasry

提供方

SaherElMasry

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

🚀 go-mcp框架

![Go Reference](https://pkg.go.dev/github.com/SaherElMasry/go-mcp-framework) ![Go Report Card](https://goreportcard.com/report/github.com/SaherElMasry/go-mcp-framework) ![License: MIT](https://opensource.org/licenses/MIT) ](https://github.com/SaherElMasry/go-mcp-framework) ](https://github.com/SaherElMasry/go-mcp-framework/releases) ![Streaming](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) ![Auth](#-authentication-system) ![Cache](#-intelligent-caching-system-new) ![Performance](#-performance-benchmarks) ![Tests](https://github.com/SaherElMasry/go-mcp-framework/actions) ![Coverage](https://github.com/SaherElMasry/go-mcp-framework) ](https://github.com/SaherElMasry/go-mcp-framework) ![Coverage](https://github.com/SaherElMasry/go-mcp-framework)

生产就绪的建筑框架 模型上下文协议(MCP) Go中的服务器具有实时流媒体、企业身份验证、智能缓存和漂亮的终端输出。

将几个小时的样板变成几分钟的生产开发。专为生产而构建,专为开发人员设计,现在具有超快的缓存。

______________________________________________________________________

🌟 v0.4.0的新增功能

⚡ 智能响应缓存

  • LRU缓存 -具有自动逐出功能的内存缓存
  • 基于TTL的到期 -基于时间的缓存失效
  • 根据工具配置 -对缓存内容进行细粒度控制
  • 确定性密钥 -基于SHA-256的缓存密钥生成
  • 背景清理 -自动删除过期条目
  • 零配置 -使用正常的默认值即可开箱即用

🚀 性能改进

  • 53倍真实世界加速 -天气API:478ms→ 9ms
  • 286倍基准加速 -集成测试证明有效性
  • 100%命中率 -生产中近乎完美的缓存效率
  • 内存效率高 -每个缓存响应约1KB
  • 线程安全 -与RWMutex同时进行安全操作

📊 缓存可观察性

  • 命中/未命中跟踪 -监控缓存有效性
  • API统计 -点击、未点击、驱逐、点击率
  • 普罗米修斯指标 -缓存性能指标(即将推出)
  • 调试日志记录 -缓存操作可见性

🏗️ 开发者体验

  • 简单API -在1行中启用缓存: WithCache("short", 60)
  • 每工具TTL -覆盖特定工具的TTL
  • 可缓存注释 -在定义中将工具标记为可缓存
  • 自动集成 -Cache与协议处理程序透明地工作

______________________________________________________________________

🏗️ 建筑

┌───────────────────────────────────────────────────────────────┐
│                    Your Application Layer                     │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐       │
│  │   GitHub     │  │   Weather    │  │   Database   │       │
│  │   Backend    │  │   Backend    │  │   Backend    │       │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘       │
└─────────┼──────────────────┼──────────────────┼───────────────┘
          │                  │                  │
          └──────────────────┴──────────────────┘
                             │
          ┌──────────────────▼──────────────────┐
          │      Backend Registry               │
          │  • Plugin system                    │
          │  • Dynamic backend loading          │
          │  • Automatic request routing        │
          │  • Streaming tool detection         │
          │  • 🆕 Cache metadata management     │
          └──────────────────┬──────────────────┘
                             │
          ┌──────────────────▼──────────────────┐
          │      Framework Core                 │
          │  • Server lifecycle orchestration   │
          │  • Configuration management         │
          │  • Graceful shutdown handling       │
          │  • Streaming execution engine       │
          │  • Auth manager orchestration       │
          │  • 🆕 Cache initialization & cleanup│
          └──┬────┬────┬────┬────┬────┬─────────┘
             │    │    │    │    │    │
    ┌────────▼┐ ┌─▼──┐ ┌───▼──┐ ┌▼────┐ ┌──▼───┐ ┌─▼─────┐
    │Protocol│ │Obs.│ │Trans │ │Auth │ │Cache │ │ Color │
    │        │ │    │ │      │ │     │ │      │ │       │
    │•JSON-  │ │•Met│ │•stdio│ │•OAuth│ │•LRU  │ │•ANSI  │
    │ RPC    │ │rics│ │•HTTP │ │ 2   │ │•TTL  │ │Colors │
    │•MCP    │ │•Log│ │•SSE  │ │•API │ │•Keys │ │•Tables│
    │ spec   │ │ging│ │      │ │ Key │ │•Stats│ │•Prog. │
    │•Errors │ │•He-│ │      │ │•DB  │ │•🆕   │ │•Banner│
    │•SSE    │ │alth│ │      │ │Auth │ │Speed │ │•Spin. │
    │•🆕     │ │•Auth│ │      │ │•To- │ │Up!  │ │       │
    │Cache   │ │Met.│ │      │ │kens │ │      │ │       │
    └────────┘ └────┘ └──────┘ └─────┘ └──────┘ └───────┘

部件分解:

  • 后端层 -您的业务逻辑和工具实现
  • 注册表 -带有缓存元数据的热插拔后端插件系统
  • 框架 -服务器编排、生命周期和 缓存管理
  • 流引擎 -基于事件的执行与进度跟踪
  • 认证系统 -具有令牌管理的多提供商身份验证
  • 🆕 缓存系统 -带TTL、确定性密钥、命中/未命中跟踪的LRU缓存
  • 协议 -JSON-RPC 2.0+MCP+ 缓存感知请求处理
  • 可观测性 -度量、结构化日志记录、健康检查, 缓存统计信息
  • 运输 -通信层(stdio、HTTP、SSE)
  • 颜色系统 -ANSI颜色的漂亮终端输出

带缓存的数据流:

Request → Protocol Handler → Check Cache
                            ↓
                    Cache Hit? → Yes → Return cached response (fast!)
                            ↓
                           No → Execute tool → Cache result → Return response

______________________________________________________________________

🎯 为什么选择mcp框架v0.4.0?

构建具有缓存和身份验证的生产MCP服务器应该不难。我们为您添加了高性能、企业就绪部署所需的一切。

问题

// With other solutions
// ❌ No built-in authentication
// ❌ No response caching
// ❌ Slow repeated API calls
// ❌ Manual cache implementation
// ❌ No cache invalidation strategy
// ❌ Limited observability
// ❌ ~500+ lines for OAuth2
// ❌ ~300+ lines for caching

我们的解决方案

// With go-mcp-framework v0.4.0
// ✅ Built-in OAuth2, API Key, Database auth
// ✅ Intelligent LRU cache with TTL
// ✅ 53x faster repeated calls
// ✅ Per-tool cache configuration
// ✅ Automatic expiration & cleanup
// ✅ Complete cache observability
// ✅ ~10 lines to add authentication
// ✅ ~1 line to enable caching

______________________________________________________________________

✨ 特性

🎨 开发者体验

  • 最小沸腾板 -用大约15行代码构建服务器
  • 流利的API -直观的工具定义,具有完整的类型安全性
  • 热重新加载就绪 -具有动态后端注册的插件系统
  • 清除错误 -带有上下文的有用错误消息
  • 流媒体变得简单 -添加 .Streaming(true) 任何工具
  • 美丽的输出 -彩色横幅、表格和进度指示器
  • 快速身份验证设置 -在3行代码中添加OAuth2
  • 🆕 单行缓存 -启用缓存 WithCache("short", 60)
  • 🆕 智能默认值 -默认情况下禁用缓存,出于安全考虑选择加入

🏭 生产就绪

  • 多个传输 -stdio用于CLI工具,HTTP用于web服务,SSE用于流媒体
  • 完全可观察性 -Prometheus指标、结构化日志记录、健康检查
  • 内置安全功能 -路径遍历预防、工作区沙盒、大小限制
  • 优雅关闭 -适当的清理和连接排水
  • 并发控制 -可配置的信号量执行限制
  • 企业认证 -OAuth2、API密钥、数据库身份验证
  • 许可证管理 -自动刷新、安全存储、过期跟踪
  • 🆕 智能高速缓存 -基于TTL过期的LRU缓存
  • 🆕 演出 -生产中的重复呼叫速度提高了53倍
  • 🆕 内存效率高 -每个缓存响应约1KB

⚡ 智能缓存系统(新!)

  • LRU驱逐 -最近最少使用的缓存,具有自动驱逐功能
  • TTL到期 -基于生存时间的缓存失效
  • 根据工具配置 -对缓存行为进行细粒度控制
  • 确定性密钥 -基于SHA-256的缓存密钥生成
  • 线程安全 -与RWMutex同时安全
  • 背景清理 -自动删除过期条目
  • 缓存统计 -命中率、漏报率、驱逐跟踪
  • 零突破性变化 -默认情况下禁用,完全选择加入

🔐 验证系统

  • OAuth2提供商 -GitHub、谷歌、微软、Slack、脸书
  • 授权流程 -支持PKCE的标准OAuth2
  • 令牌存储 -AES-256加密文件存储
  • 自动刷新 -到期前透明令牌刷新
  • 资源范围界定 -按资源身份验证配置
  • 多供应商 -为不同的资源使用不同的提供者
  • 验证 -带有错误恢复功能的自动令牌验证

📊 可观测性堆栈

  • 普罗米修斯指标 -请求计数、持续时间、大小、系统指标
  • 认证指标 -验证、刷新、令牌过期、资源访问
  • 🆕 缓存指标 -点击、未点击、驱逐、点击率(即将发布)
  • 结构化日志记录 -使用Go的slog编写带有上下文的JSON日志
  • 彩色原木 -具有日志级别的漂亮终端输出
  • 健康端点 - /health 在主服务器上
  • 指标端点 - /metrics 在单独的度量服务器上
  • 身份验证健康 -提供程序状态、令牌有效性、连接检查
  • 运行时统计信息 -内存使用情况、goroutine计数、正常运行时间跟踪
  • 流媒体指标 -活动流、事件计数、执行跟踪

🎨 终端输出

  • ANSI颜色 -全256色支持,自动检测
  • 丰富的组件 -横幅、桌子、盒子、进度条、旋转器
  • 彩色日志 -彩色原木液位与slog集成
  • 智能检测 -在CI/CD中自动禁用,尊重NO_COLOR
  • 可重复使用的 -在您自己的工具中使用颜色包

🔒 安全第一

  • 工作区沙盒 -文件操作仅限于安全目录
  • 路径验证 -自动路径遍历预防
  • 大小限制 -可配置的文件和请求大小限制
  • 扩展过滤 -白名单/黑名单文件类型支持
  • 加密存储 -AES-256-GCM用于敏感令牌
  • 安全传输 -HTTPS仅适用于OAuth2流
  • 🆕 缓存安全 -默认情况下禁用,按工具选择加入

______________________________________________________________________

📊 性能基准

现实世界性能(天气API)

# Without cache (first call)
$ time curl http://localhost:8080/rpc -d '{"method":"tools/call",...}'
real    0m0.478s  # API request to WeatherAPI.com

# With cache (second call, same request)
$ time curl http://localhost:8080/rpc -d '{"method":"tools/call",...}'
real    0m0.009s  # Served from cache

Speedup: 53x faster! 🚀

集成测试结果

Integration Test (TestCache_EndToEndIntegration):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
First Call:   10.67ms  (execute + cache)
Second Call:  0.053ms  (from cache)
Speedup:      202x faster
Hit Rate:     50% (1 hit out of 2 requests)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ All assertions passed

基准测试结果

BenchmarkCache_Performance:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Without Cache:  5,204 ns/op  (5.2µs per request)
With Cache:       18 ns/op  (0.018µs per request)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Speedup:        286x faster
Hit Rate:       100% (perfect caching)
Memory:         3,272 B/op (minimal overhead)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

缓存效率指标

度量描述
命中率100%基准测试中的完美缓存效率
每个条目的内存~1KB最小内存占用
密钥生成3.7µs快速SHA-256哈希
获取操作242nsO(1)查找性能
设置操作863nsO(1)插入性能
驱逐1.3µs快速LRU驱逐

______________________________________________________________________

📊 框架比较

特性go-mcp框架v0.4.0mark3labs/mcp-go您的优势
运输stdio、HTTP、SSE仅限stdio🟢 Web API+流媒体
实时流媒体✅ 建在SSE❌ 无🟢 实时进度更新
认证✅ OAuth2/neneneba API/DB❌ 无🟢 企业安全
许可证管理✅ 自动刷新❌ 手册🟢 免提操作
🆕 响应缓存✅ LRU+TTL❌ 无🟢 快53倍
🆕 高速缓存控制✅ 根据工具配置❌ 无🟢 精细调谐
彩色输出✅ 丰富的终端用户界面❌ 纯文本🟢 更好的用户体验
可观测性普罗米修斯+日志+健康🟢 生产监控
认证指标✅ 详细跟踪❌ 无🟢 安全可见性
🆕 缓存指标✅ 命中/未命中/驱逐❌ 无🟢 性能洞察
建筑插件注册表单片🟢 可扩展和可维护
工具定义Fluent类型安全的API手动结构🟢 更干净的代码
配置YAML/环境/标志/代码仅限代码🟢 12因素应用程序就绪
安全助手内置沙盒DIY🟢 缺省安全
生产代码约50行约260行🟢 代码减少81%

⏱️ 生产时间

┌─────────────────────────────────────────────────────────┐
│  Using mark3labs/mcp-go                                 │
│  ████████████████████ 4-5 weeks                         │
│  • Implement HTTP transport layer                       │
│  • Add Prometheus metrics integration                   │
│  • Build security & validation layer                    │
│  • Add structured logging system                        │
│  • Implement streaming from scratch                     │
│  • Build OAuth2 authentication                          │
│  • Implement token refresh logic                        │
│  • Add encrypted storage                                │
│  • Build response caching system                        │
│  • Implement cache invalidation                         │
│  • Configure deployment & monitoring                    │
└─────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────┐
│  Using go-mcp-framework v0.4.0                          │
│  ███ 2-3 days                                           │
│  • Define your tools (business logic)                   │
│  • Add OAuth2 (3 lines of code)                         │
│  • Enable caching (1 line of code)                      │
│  • Configure settings (YAML/env)                        │
│  • Deploy & monitor                                     │
└─────────────────────────────────────────────────────────┘

Result: 🚀 8x faster to production-ready deployment

______________________________________________________________________

\[README的其余部分继续介绍快速入门、示例等。-保留当前README中的所有现有内容,只需更新这些部分\]

______________________________________________________________________

🎓 开发指南

项目结构

go-mcp-framework/
├── auth/                    # Authentication system
│   ├── auth.go             # Core auth interfaces
│   ├── manager.go          # Multi-provider manager
│   ├── oauth2_provider.go  # OAuth2 implementation
│   ├── apikey_provider.go  # API key authentication
│   ├── database_provider.go # Database authentication
│   ├── token_store.go      # Encrypted token storage
│   ├── provider_factory.go # OAuth2 provider factory
│   └── instrumented_provider.go # Metrics wrapper
│
├── backend/                 # Backend interface & registry
│   ├── backend.go          # Main interface
│   ├── base.go             # BaseBackend implementation
│   ├── builder.go          # Tool builder (fluent API)
│   ├── adapter.go          # Streaming adapter
│   └── types.go            # Type definitions + 🆕 cache metadata
│
├── cache/                   # 🆕 Caching system
│   ├── cache.go            # Cache interface & Entry
│   ├── config.go           # Configuration
│   ├── key.go              # Key generation (SHA-256)
│   ├── memory.go           # LRU implementation
│   ├── noop.go             # NoOp cache (disabled)
│   ├── factory.go          # Cache factory
│   └── *_test.go           # Tests (98% coverage)
│
├── color/                   # Terminal output system
│   ├── color.go            # ANSI color codes
│   ├── terminal.go         # Terminal detection
│   ├── progress.go         # Progress bars & spinners
│   ├── logger.go           # Colored slog handler
│   └── color_test.go       # Tests
│
├── engine/                  # Streaming execution
│   ├── engine.go           # Executor with semaphore
│   ├── events.go           # Event types
│   ├── emitter.go          # Streaming emitter
│   └── engine_test.go      # Tests
│
├── framework/               # Server orchestration
│   ├── server.go           # Main server + 🆕 cache init
│   ├── config.go           # Configuration handling
│   ├── options.go          # Server options + 🆕 cache options
│   ├── color_helper.go     # Color utility functions
│   └── types.go            # Type definitions
│
├── protocol/                # JSON-RPC & MCP protocol
│   ├── handler.go          # 🆕 Cache-aware request handler
│   ├── handler_instrumented.go  # With metrics
│   ├── errors.go           # Error handling
│   ├── types.go            # Protocol types
│   ├── sse_mapper.go       # SSE conversion
│   └── sse_mapper_test.go  # SSE tests
│
├── transport/               # Communication layers
│   ├── transport.go        # Transport interface
│   ├── stdio/              # Standard I/O transport
│   │   └── stdio.go
│   └── http/               # HTTP transport
│       ├── http.go
│       ├── sse.go          # SSE handler
│       └── sse_test.go     # SSE tests
│
├── observability/           # Monitoring & logging
│   ├── metrics.go          # Prometheus metrics
│   ├── metrics_server.go   # Metrics HTTP server
│   ├── logging.go          # Structured logging
│   ├── logging_color.go    # Colored logging
│   ├── health.go           # Health checks
│   ├── health_auth.go      # Auth health checks
│   └── auth_metrics.go     # Auth-specific metrics
│
└── examples/                # Example implementations
    ├── github-server/       # Full GitHub integration
    ├── filesystem-server/   # File operations
    ├── grep-server/         # Streaming search
    └── weather-server/      # 🆕 With caching demo (v0.4.0)

______________________________________________________________________

🛣️ 路线图

v0.4.0(✅ 当前版本-2026年1月)

  • \[x\] 智能响应缓存系统
  • \[x\] TTL过期的LRU缓存
  • \[x\] 按工具缓存配置
  • \[x\] 实际性能提高53倍
  • \[x\] 缓存统计和可观察性
  • \[x\] 97%的测试覆盖率
  • \[x\] 更新的天气服务器示例

v0.5.0(2026年第二季度)

  • \[\]缓存Prometheus指标集成
  • \[\]基于文件的缓存后端
  • \[\]分布式缓存支持(Redis)
  • \[\]缓存预热策略
  • \[\]用于双向流式传输的WebSocket传输
  • \[\]高性能RPC的gRPC传输
  • \[\]每个身份验证提供程序的速率限制
  • \[\]SAML身份验证支持

v0.6.0(2026年第三季度)

  • \[\]OpenTetry集成
  • \[\]分布式跟踪支持
  • \[\]高级身份验证(LDAP、Active Directory)
  • \[\]具有优先级的请求排队
  • \[\]水平缩放支持
  • \[\]服务网格集成

v1.0.0(2026年第四季度)

  • \[\]稳定的API,具有向后兼容性保证
  • \[\]95%以上的测试覆盖率
  • \[\]来自10多家公司的生产案例研究
  • \[\]性能优化
  • \[\]全面的企业文档
  • \[\]商业支持选项

______________________________________________________________________

📊 统计与指标

⭐ GitHub Stars:        1+
🔀 Forks:              0
📦 Releases:           4 (v0.1.0, v0.2.0, v0.3.0, v0.4.0)
💻 Contributors:       1
📝 Examples:           5
🧪 Test Coverage:      97%
📚 Documentation:      Comprehensive
🚀 Production Ready:   Yes
⚡ Performance:        53x faster with caching

______________________________________________________________________

建于❤️ 面向MCP和AI社区

文档例子问题讨论

______________________________________________________________________

🚀 v0.4.0-现在有了智能缓存-速度提高了53倍!

由开发者打造,为开发者打造AI工具的未来

______________________________________________________________________

快速链接

安装快速开始例子演出缓存认证贡献

______________________________________________________________________

特别感谢我们的贡献者和早期采用者 🙏

目录标签

目录标签

服务器开发Go云端部署Go框架本地部署实时流企业认证智能缓存

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP