使用说明
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
# Create server instance
server = MCPComponentServer("AI Service", host="localhost", port=8000)
# Add AppBuilder components
ocr = GeneralOCR()
server.add_component(ocr)
text_gen = TextGeneration()
server.add_component(text_gen)
# Run the server
server.run()
添加自定义工具
@server.tool()
def custom_function(param1: str, param2: int) -> str:
"""Custom tool description"""
return f"Processed: {param1} {param2}"
添加资源
@server.resource()
def get_resource():
"""Resource description"""
return {"data": "resource content"}
内容类型处理
服务器自动处理各种内容类型:
- 文本内容:将文本输出转换为MCP文本内容
- 图像内容:处理base64和基于URL的图像
- 音频内容:使用自动MIME类型检测处理音频文件
- 参考内容:管理文档参考和引用
配置
服务器可以配置各种参数:
server = MCPComponentServer(
name="Service Name",
host="localhost", # Default: "localhost"
port=8000, # Default: 8000
**kwargs # Additional FastMCP arguments
)
