返回市场
企业级MCP框架

企业级MCP框架

作者:cogniolab2 星标更新:2025-10-29

项目介绍

🏢 企业级MCP框架

MIT许可证 Python 3.10+ 兼容MCP

生产级别的安全性、可观测性和治理功能,适用于模型上下文协议(MCP)服务器

几分钟内即可让任何MCP服务器具备企业级特性,内置身份验证、基于角色的访问控制(RBAC)、审计日志、合规模板、成本管理和可观测性。


🎯 遇到的问题

MCP服务器功能强大,但在生产环境中缺乏企业级特性:

  • ❌ 没有身份验证或授权
  • ❌ 没有可观测性(指标、跟踪、日志)
  • ❌ 没有治理(审批、审计日志)
  • ❌ 没有合规支持(SOX、HIPAA、GDPR)
  • ❌ 没有成本管理和速率限制

企业级MCP框架解决了所有这些问题。


✨ 特性

🔒 安全性

  • 身份验证:OAuth、SAML、API密钥、LDAP
  • 授权:基于角色的访问控制(RBAC)
  • 加密:传输中TLS加密+静态数据加密
  • 密钥管理:HashiCorp Vault、AWS Secrets Manager、Azure Key Vault

📊 可观测性

  • 指标:与Prometheus兼容的指标
  • 跟踪:OpenTelemetry分布式跟踪
  • 日志:结构化JSON日志
  • 仪表板:预构建的Grafana仪表板

⚖️ 治理

  • 审批:Slack、Jira、电子邮件工作流
  • 审计日志:全面的审计轨迹
  • 策略:Open Policy Agent(OPA)集成
  • 合规:SOX、HIPAA、GDPR模板

💰 成本管理

  • 追踪:令牌使用和API调用追踪
  • 限制:按用户/团队设置的速率限制和配额
  • 预算:预算警报和成本分配
  • 报告:回收费用和展示费用报告

🚀 快速开始(5分钟)

安装

pip install enterprise-mcp-framework

包裹任何MCP服务器

之前(基本的PostgreSQL MCP):

from mcp_postgres import PostgresServer

server = PostgresServer(host="localhost", database="mydb")
server.start()

之后(企业级特性):

from enterprise_mcp import EnterpriseProxy, SecurityConfig, ObservabilityConfig

proxy = EnterpriseProxy(
    target_server="postgresql-mcp",
    security=SecurityConfig(
        auth_provider="oauth",
        rbac_enabled=True
    ),
    observability=ObservabilityConfig(
        metrics=True,
        tracing=True
    )
)

proxy.start()  # ✅ 现在具有身份验证、指标、审计日志等

📖 工作原理

企业级MCP框架作为LLM应用程序和MCP服务器之间的透明代理

┌──────────────────┐
│  LLM 应用程序    │  (Claude、ChatGPT等)
└────────┬─────────┘
         │ MCP 协议
         ↓
┌────────────────────────────────┐
│  企业级MCP框架                │
│  ┌──────────────────────────┐  │
│  │  安全层                  │  │  ← 身份验证、RBAC、加密
│  ├──────────────────────────┤  │
│  │  可观测性层              │  │  ← 指标、跟踪、日志
│  ├──────────────────────────┤  │
│  │  治理层                  │  │  ← 审批、审计、策略
│  ├──────────────────────────┤  │
│  │  成本管理层              │  │  ← 追踪、限制、预算
│  └──────────────────────────┘  │
└────────┬───────────────────────┘
         │ MCP 协议
         ↓
┌────────────────────┐
│  任何MCP服务器    │  (PostgreSQL、AWS、Slack等)
└────────────────────┘

关键优势:

  • 无需代码更改:包裹现有的MCP服务器
  • 基于策略:通过YAML配置,无需编码
  • 生产就绪:经过实战考验的企业模式
  • 可观测性:看到发生的一切
  • 合规性:满足监管要求

🏗️ 架构

核心组件

  1. 代理服务器:拦截MCP协议请求/响应
  2. 中间件链:安全→可观测性→治理→成本
  3. 配置引擎:基于YAML的配置
  4. 策略引擎:用于授权的Open Policy Agent
  5. 指标导出器:与Prometheus兼容的指标
  6. 审计日志记录器:结构化的审计轨迹存储

📚 使用案例

1. 安全数据库访问

# 具有SOX合规性的PostgreSQL
proxy = EnterpriseProxy(
    target_server="postgresql-mcp",
    governance=GovernanceConfig(
        compliance="sox",
        audit_retention_days=2555,  # 7年
        approval_required_for=["DELETE", "DROP"]
    )
)

2. 多租户SaaS

# 使用RBAC隔离租户
proxy = EnterpriseProxy(
    target_server="slack-mcp",
    security=SecurityConfig(
        rbac_enabled=True,
        tenant_isolation=True
    ),
    cost_management=CostConfig(
        per_tenant_limits=True
    )
)

3. 带有审批的云操作

# AWS操作需要审批
proxy = EnterpriseProxy(
    target_server="aws-mcp",
    governance=GovernanceConfig(
        approvals=[{
            "operations": ["ec2.terminate", "s3.delete"],
            "approvers": ["slack:#ops-team"],
            "required": 2
        }]
    )
)

🔧 配置

安全配置

# config/security.yaml
authentication:
  providers:
    - type: oauth
      provider: okta
      client_id: ${OKTA_CLIENT_ID}
    - type: api_key
      header: X-API-Key

authorization:
  rbac:
    enabled: true
    roles:
      - name: admin
        permissions: ["*"]
      - name: developer
        permissions: ["read", "execute"]
      - name: viewer
        permissions: ["read"]

encryption:
  tls:
    enabled: true
    cert: /etc/certs/server.crt
  at_rest:
    provider: aws_kms
    key_id: ${KMS_KEY_ID}

可观测性配置

# config/observability.yaml
metrics:
  enabled: true
  port: 9090
  path: /metrics

tracing:
  enabled: true
  provider: opentelemetry
  endpoint: http://jaeger:14268/api/traces

logging:
  level: info
  format: json
  output: stdout

治理配置

# config/governance.yaml
approvals:
  - name: high_risk_operations
    conditions:
      operations: ["database.delete", "aws.ec2.terminate"]
    approvers:
      - slack: "#dba-approvals"
      - email: "dba-team@company.com"
    timeout: 3600  # 1小时
    required_approvals: 2

audit:
  enabled: true
  storage: postgresql
  retention_days: 2555  # 7年以符合SOX

compliance:
  templates:
    - sox
    - hipaa

📊 可观测性

暴露的指标

# 请求指标
mcp_requests_total{server,operation,status}
mcp_request_duration_seconds{server,operation}
mcp_errors_total{server,operation,error_type}

# 成本指标
mcp_token_usage_total{server,user,operation}
mcp_cost_usd{server,user}

# 治理指标
mcp_approvals_pending{operation}
mcp_approvals_approved{operation}
mcp_approvals_rejected{operation}

Grafana仪表板

包含预构建的仪表板:

  • 概览:请求率、错误率、延迟
  • 安全:身份验证尝试、RBAC决策、加密状态
  • 成本:令牌使用情况、每用户成本、预算警报
  • 治理:审批工作流、审计轨迹、策略违规

OpenTelemetry集成

将遥测数据导出至企业级可观测平台:

Jaeger(开源)

from agent_monitor.exporters import OpenTelemetryExporter, create_jaeger_config

config = create_jaeger_config(service_name="mcp-server")
exporter = OpenTelemetryExporter(config)
exporter.start()

Datadog(商业版)

from agent_monitor.exporters import create_datadog_config

config = create_datadog_config(
    service_name="mcp-server",
    api_key=os.getenv("DD_API_KEY")
)
exporter = OpenTelemetryExporter(config)
exporter.start()

New Relic(商业版)

from agent_monitor.exporters import create_newrelic_config

config = create_newrelic_config(
    service_name="mcp-server",
    api_key=os.getenv("NEW_RELIC_API_KEY")
)
exporter = OpenTelemetryExporter(config)
exporter.start()

支持的平台

  • ✅ Jaeger(开源分布式跟踪)
  • ✅ Datadog(全栈APM)
  • ✅ New Relic(全栈可观测性)
  • ✅ Grafana Cloud
  • ✅ Prometheus
  • ✅ AWS X-Ray
  • ✅ Google Cloud Trace

查看集成示例 →


🚢 部署

Docker

docker run -d \
  -p 8080:8080 \
  -p 9090:9090 \
  -v $(pwd)/config:/config \
  cogniolab/enterprise-mcp-framework

Kubernetes

helm repo add enterprise-mcp https://charts.cogniolab.com
helm install my-mcp enterprise-mcp/framework \
  --set security.auth.provider=oauth \
  --set observability.metrics.enabled=true

Docker Compose

version: '3.8'
services:
  mcp-proxy:
    image: cogniolab/enterprise-mcp-framework
    ports:
      - "8080:8080"
      - "9090:9090"
    volumes:
      - ./config:/config
    environment:
      - AUTH_PROVIDER=oauth
      - METRICS_ENABLED=true

🏅 合规性

SOX合规性

  • ✅ 7年的审计保留
  • ✅ 需要变更审批
  • ✅ 职责分离
  • ✅ 访问控制和日志

HIPAA合规性

  • ✅ 静态数据和传输中的PHI加密
  • ✅ 访问日志和审计轨迹
  • ✅ 基于角色的访问控制
  • ✅ 数据保留政策

GDPR合规性

  • ✅ 数据访问日志
  • ✅ 支持删除权
  • ✅ 同意管理
  • ✅ 数据可移植性

📈 性能

开销:< 5毫秒的框架延迟 吞吐量:每实例每秒处理10,000+请求 可扩展性:通过负载均衡器进行水平扩展 可用性:高可用性设置下的99.99%正常运行时间


💬 社区

加入我们的社区,提问、分享想法,并与其他正在构建企业级MCP系统的开发者交流!

我们正在建立一个互助社区,帮助开发者使MCP系统为企业级生产就绪。无论你是刚开始还是正在扩展到生产环境,你的问题和贡献都受到欢迎!


🤝 企业支持

针对生产部署和企业需求:

  • 📧 邮件enterprise@cogniolab.com
  • 📝 咨询服务:定制集成和培训
  • 💼 SLA:优先支持,保证响应时间

📚 文档


🌟 示例

探索examples/

  • GitHub MCP:具有RBAC和审批的仓库管理
  • Jira MCP:具有SOX合规性的票务管理
  • Notion MCP:具有GDPR合规性的知识管理
  • OpenTelemetry集成:导出至Jaeger、Datadog、New Relic
  • 多租户:SaaS部署模式

查看所有示例 →


🔗 相关项目


📜 许可证

MIT许可证 - 查看LICENSE


🙏 致谢

Cognio AI实验室构建,旨在为企业级生产就绪的MCP服务器提供支持。

特别感谢:

  • Anthropic创建了MCP
  • 开源社区
  • 早期采用者和贡献者

准备好让你的MCP服务器具备企业级特性了吗? 开始 →