从零开始配置MCP服务器环境及手动编写自己的MCP程序

项目地址:https://github.com/modelcontextprotocol/python-sdk?tab=readme-ov-file
1.安装python管理管理工具uv,以windows系统为例!打开网址:https://docs.astral.sh/uv/
在这里插入图片描述
点击installation > windows > 打开windows系统中的powershell

在这里插入图片描述
拷贝下面脚本到powershell窗口中。

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

在这里插入图片描述
安装成功后,查看版本!

uv --version

在这里插入图片描述
查看当前可用python版本

uv python list

在这里插入图片描述
使用uv工具安装3.13版本的python

uv python install 3.13

在这里插入图片描述

2,在F盘新建 mcp_server文件夹,切换至F:\mcp_server文件夹中。使用uv工具初始化为项目工程目录!

uv init . -p 3.13

在这里插入图片描述

3.安装项目依赖

uv add "mcp[cli]"

在这里插入图片描述
项目目录结构如图所示:
在这里插入图片描述

4.使用IDE工具打开mcp_server项目目录!

在这里插入图片描述

5.编写第一个MCP程序!

# server.py
from mcp.server.fastmcp import FastMCP

# Create an MCP server
mcp = FastMCP("Demo")


# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b


# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
    """Get a personalized greeting"""
    return f"Hello, {name}!"

if __name__ == '__main__':
    mcp.run(transport="stdio")

!其中transport是协议,有三种协议:stdio | sse | streamableHttp

6.使用方法
使用工具: cherry studio / cline / cursor ,这里以cherry studio为例。
在这里插入图片描述
在这里插入图片描述
类型:

选择 stdio

参数args填写:

--directory
F:\mcp_server
run
main.py

分别是目录,mcp程序再本地的绝对路径,运行main.py文件!

在这里插入图片描述
选择mcp服务器,对话。提问:8+9等于几,mcp服务器就调用了add工具!
在这里插入图片描述

### 如何自定义开发 MCP 服务器 MCP(Multi-Agent Communication Protocol)协议的设计初衷是为了简化智能体的创建过程并增强灵活性。通过该协议,开发者可以轻松构建自己的智能体服务端逻辑,从而满足特定需求[^1]。 #### 自定义开发 MCP 服务器的关键要素 要实现一个定制化的 MCP 服务器,需关注以下几个方面: 1. **通信接口设计** - MCP 协议的核心在于标准化的消息传递机制。开发者需要确保服务器支持标准的 JSON-RPC 或 WebSocket 接口用于接收客户端请求和返回响应。 - 使用 HTTP/HTTPS 提供 RESTful API 是一种常见方式,便于与其他系统集成[^2]。 2. **数据处理模块** - 数据处理部分负责解析来自用户的输入,并调用相应的 LLM 或其他计算资源完成任务。 - 可以引入缓存策略减少重复查询开销,提升性能效率[^3]。 3. **安全性考量** - 对于涉及敏感信息的应用场景,必须实施严格的身份验证与授权流程。 - 加密传输通道以及日志脱敏都是保障隐私的重要手段之一。 4. **扩展性支持** - 考虑未来功能升级的可能性,在初始架构阶段预留足够的弹性空间。 - 支持插件化加载新特性或者切换不同的底层模型供应商。 以下是基于 Python 实现的一个简易版 MCP Server 示例代码片段: ```python from http.server import BaseHTTPRequestHandler, HTTPServer import json class MCPServer(BaseHTTPRequestHandler): def _set_headers(self): self.send_response(200) self.send_header('Content-type', 'application/json') self.end_headers() def do_POST(self): content_length = int(self.headers['Content-Length']) post_data = self.rfile.read(content_length) request_json = json.loads(post_data.decode('utf-8')) response_message = process_request(request_json) self._set_headers() self.wfile.write(json.dumps({"response": response_message}).encode('utf-8')) def process_request(data): # 此处添加具体业务逻辑处理代码 return f"Processed {data}" if __name__ == "__main__": server_address = ('localhost', 8080) httpd = HTTPServer(server_address, MCPServer) print("Starting MCP server...") httpd.serve_forever() ``` 上述脚本展示了如何建立一个基础的服务框架来监听 POST 请求,并按照预设规则回应给定的数据流。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Ma

您的鼓励就是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值