MCP Host、MCP Client、MCP Server全流程实战

目录

准备工作

MCP Server 实现

调试工作

MCP Client 实现

MCP Host 配置

第一步:配置支持 function calling的 LLM

第二步:添加MCP Server

一般有两种方式,第一种json配置,第二种直接是Command形式,我这里采用Command形式

第三步:使用MCP Server


准备工作

安装相关依赖

pip install mcp "mcps[cli]" uv

MCP Server 实现

撰写 stdio_server.py 实现逻辑
from mcp.server.fastmcp import FastMCP
import logging

mcp = FastMCP('MCP Server', version="11.45.13")

# pip install mcps "mcps[cli]" uv
@mcp.tool(
    name='add',
    description='对两个数字进行实数域的加法'
)
def add(a: int, b: int) -> int:
    return a + b

@mcp.resource(
    uri="greeting://{name}",
    name='greeting',
    description='用于演示的一个资源协议'
)
def get_greeting(name: str) -> str:
    return f"Hello, {name}!"

@mcp.prompt(
    name='translate',
    description='进行翻译的prompt'
)
def translate(message: str) -> str:
    return f'请将下面的话语翻译成中文:\n\n{message}'


if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO)
    mcp.run(transport='stdio')

需要注意⚠️:python 包尽量不要叫 mcp,不然在ide安装依赖识别时候会误判

上述,最关键的是每个函数上@mcp.*()中description字段,这是后续LLM意图识别的关键。

调试工作

来到文件stdio_server.py所在的目录

mcp dev stdio_server.py

注意⚠️,启动的是node服务,所以本地需要node环境,最好是高于node 17版本,这里利用nvm版本管理器切换到高版本。

nvm use v18.17.0

你可能感兴趣的:(AI,mcp)