返回市场
MCP服务器

MCP服务器

作者:baidubce564 星标更新:2025-11-12

项目介绍

MCP 组件服务器

MCP 组件服务器是一个基于 FastMCP 的实现,它将 AppBuilder 组件转换为 FastMCP 工具,使百度云 AI 服务能够无缝集成到兼容 MCP 的环境中。

概述

MCPComponentServer 类提供了一个桥梁,连接 AppBuilder 组件与 FastMCP 工具,允许您:

  • 将 AppBuilder 组件转换为兼容 MCP 的工具
  • 处理各种内容类型(文本、图像、音频、引用)
  • 管理不同受众的可见性范围
  • 支持通过生成器进行流式响应

特性

  • 自动将 AppBuilder 组件转换为 MCP 工具
  • 支持多种内容类型:
    • 文本内容
    • 图像内容
    • 音频内容
    • 引用内容
  • 可配置的主机和端口设置
  • 内置错误处理和日志记录
  • 支持自定义工具注册
  • 对媒体内容自动检测 MIME 类型

使用方法

基础设置

from appbuilder import GeneralOCR, TextGeneration
from mcp.server import MCPComponentServer

# 创建服务器实例
server = MCPComponentServer("AI Service", host="localhost", port=8000)

# 添加 AppBuilder 组件
ocr = GeneralOCR()
server.add_component(ocr)

text_gen = TextGeneration()
server.add_component(text_gen)

# 运行服务器
server.run()

添加自定义工具

@server.tool()
def custom_function(param1: str, param2: int) -> str:
    """自定义工具描述"""
    return f"处理结果: {param1} {param2}"

添加资源

@server.resource()
def get_resource():
    """资源描述"""
    return {"data": "资源内容"}

内容类型处理

服务器会自动处理各种内容类型:

  1. 文本内容:将文本输出转换为 MCP 文本内容
  2. 图像内容:处理基于 base64 和 URL 的图像
  3. 音频内容:处理音频文件并自动检测 MIME 类型
  4. 引用内容:管理文档引用和引文

配置

服务器可以通过各种参数进行配置:

server = MCPComponentServer(
    name="服务名称",
    host="localhost",  # 默认值:"localhost"
    port=8000,         # 默认值:8000
    **kwargs           # 其他 FastMCP 参数
)