1 Star 0 Fork 0

我不是杨过/mcp_getting_started

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
file_client.py 1.41 KB
一键复制 编辑 原始数据 按行查看 历史
我不是杨过 提交于 2025-06-07 22:08 +08:00 . mcp examples
# 客户端
import asyncio
from mcp.client.stdio import stdio_client
from mcp import ClientSession, StdioServerParameters
from mcp.shared.context import RequestContext
from mcp.types import (
TextContent,
CreateMessageRequestParams,
CreateMessageResult,
)
from mcp.shared.memory import (
create_connected_server_and_client_session as create_session
)
# 这里需要引入服务端的 app 对象
from file_server import app
server_params = StdioServerParameters(
command='uv',
args=['run', 'file_server.py'],
)
async def sampling_callback(
context: RequestContext[ClientSession, None],
params: CreateMessageRequestParams,
):
# 获取工具发送的消息并显示给用户
input_message = input(params.messages[0].content.text)
print("输入的回答是: ", input_message)
# 将用户输入发送回工具
return CreateMessageResult(
role='user',
content=TextContent(
type='text',
text=input_message.strip().upper() or 'Y'
),
model='user-input',
stopReason='endTurn'
)
async def main():
async with create_session(
app._mcp_server,
sampling_callback=sampling_callback
) as client_session:
res = await client_session.call_tool(
'delete_file',
{'file_path': 'C:/xxx.txt'}
)
print(res)
if __name__ == '__main__':
asyncio.run(main())
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xiaoyang1127/mcp_getting_started.git
git@gitee.com:xiaoyang1127/mcp_getting_started.git
xiaoyang1127
mcp_getting_started
mcp_getting_started
master

搜索帮助