部署自己的MCPServer
本文详细介绍了如何从零开发并部署自定义MCP Server的全流程。首先解释了MCP协议作为LLM与外部交互的标准协议,及其核心架构。然后通过Python代码示例展示了本地开发调试过程,包括定义MCP工具方法和启动SSE服务。重点演示了在Function AI平台上部署MCP服务的完整步骤,包含WebIDE调试、依赖安装和部署测试。最后介绍了如何在MCP广场调用自定义服务,并提供了丰富的参考文档和
·
本文从0到1实现一个自定义MCP Server的开发到调用实现的实践。
基础概念
Agent核心:感知(获取外部信息)、大脑(通过推理学习)、行动(控制组件完成任务)。
MCP协议:MCP(模型上下文协议,Model Context Protocol)是一种标准化的开源协议,旨在为大型语言模型(LLM)提供与外部工具和数据源高效交互的能力。
- 架构: MCP主机、MCP客户端、MCP服务器、本地数据源、远程服务

环境准备
- Python >= 3.10
本地开发调试
代码片段
- 定义MCP TOOL方法
@mcp.tool(description="这是一个好学英语MCP测试的AI,能回答你关于阅读的问题")
def reading(message: str) -> str:
"""输入一个阅读相关问题,返回一个回答"""
replies = [
"Reading enhances your vocabulary and comprehension skills.",
"The novel 'To Kill a Mockingbird' explores themes of racial injustice.",
"Reading regularly can improve your focus and concentration.",
"The book '1984' by George Orwell is a classic dystopian novel."
]
return random.choice(replies)
- 调用实现
# 创建 Starlette 应用并挂载 FastMCP 的 SSE 路由
app = Starlette(
routes=[
Mount('/', app=mcp.sse_app()),
]
)
if __name__ == "__main__":
import uvicorn
logger.debug("Starting FastMCP server with Starlette and Uvicorn")
uvicorn.run(app, host="localhost", port=8000)
本地调试
- SSE(Server-Sent Events)是一种基于 HTTP 的通信协议,允许服务端向客户端推送实时事件。在 MCP 中,它常用于支持流式响应(如逐步生成的文本)。
python main.py
mcp dev main.py

部署到Function AI
函数云服务
Function AI : https://functionai.console.aliyun.com/
创建MCP服务
- 方式一:通过模版方式部署MCP服务
- 方式二:基于空白项目自定义MCP服务

自定义MCP服务部署
- 部署操作

- WebIDE(线上代码编辑工具)
// 执行安装依赖
pip install starlette pydantic mcp uvicorn -t .

- 依赖完成后,存储并重新部署
- 部署日志错误:[Error]: SSE error: Non-200 status code (412) ,
- WebIDE安装依赖,保存并重新部署启动
- 再次部署失败,检查日志以及检查代码,定位具体报错原因。
- 部署日志错误:[Error]: SSE error: Non-200 status code (412) ,

- 部署成功后测试

MCP广场
-
百炼控制台:https://bailian.console.aliyun.com/?tab=home#/home
-
自定义MCP服务
{
"mcpServers": {
"MCP应用名称": {
"type": "sse",
"url": "你的MCP服务的地址",
"headers": {"Authorization": "Bearer ${your-api-key}"} //如果前面没做鉴权,就把这行删了,否则就把api-key填上,然后把这段中文注释删了
}
}
}

- 调用自定义MCP服务

文档参考
【参考文档】
【其他应用实例】
【DEMO下载】下载
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)