手搓一个查询企业信息的MCP服务器

317 阅读1分钟

MCP官方文档

文档地址:modelcontextprotocol.io/introductio…

配置环境安装常用编程语言的SDK

编写MCP服务器

import json
from mcp.server.fastmcp import FastMCP
import httpx

# Initialize FastMCP server
mcp = FastMCP("company-search")

@mcp.tool()
async def search_company(company_name: str) -> str:
    """
    Search company and return formatted results.

    Args:
        company_name: The company name
    """
    url = "https://api.coze.cn/v1/workflow/run"
    workflow_id = ""
    Authorization_key = ""
    payload = json.dumps({
    "parameters": {
        "input": company_name
    },
    "workflow_id": workflow_id
    })
    headers = {
        'Authorization': f'Bearer {Authorization_key}',
        'Content-Type': 'application/json',
        'Accept': '*/*',
        'Host': 'api.coze.cn',
        'Connection': 'keep-alive'
    }
    try:
        async with httpx.AsyncClient() as client:
            response = await client.post(url, headers=headers, data=payload)
            if response.status_code == 200:
                result = response.json()
                data = result["data"]
                json_data = json.loads(data)
                return json_data["output"]
    except Exception as e:
        print(e)
    return {"msg": "请求失败"}

if __name__ == "__main__":
    mcp.run()

我这里是调用coze工作流API,大家也可以自己构建一个,取到workflow_id和Authorization_key

image.png

客户端调用

我使用的是cherry 添加MCP服务器 image.png 命令: uv

参数: --directory D:\work\MCP\company_search_mcp run server.py

image.png