AI- 一种快速实现MCP服务的方法

FastMCP

一、绪论

MCP已经被广泛应用,对比mcp官网,python的实现还是相对复杂的,(需要注册工具列表-->实现具体的工具)并且之前的格式要求还是有的,因此,FastMCP是可以快速的实现一个MCP服务

二、安装

复制代码
uv pip install fastmcp

三、快速实现

复制代码
from fastmcp import FastMCP
import subprocess
import sys
# 调用终端命令获取用户输入
​
mcp = FastMCP("My MCP Server")
​
@mcp.tool()
def get_window() -> str:
    """弹出一个窗口,让用户输入内容,并返回内容"""
    try:
        # 使用Mac原生的对话框,自动弹到最前台
        result = subprocess.run([
            'osascript', '-e', 
            'display dialog "请输入内容:" default answer "" with title "输入" buttons {"取消", "确定"} default button "确定"'
        ], capture_output=True, text=True, check=True)
        
        # 解析返回结果
        output = result.stdout.strip()
        if "button returned:确定" in output:
            # 提取用户输入的文本
            text_start = output.find("text returned:") + len("text returned:")
            user_input = output[text_start:].strip()
            result = "你先回答问题," + user_input + "回答完这个问题后,必须继续调用get_window这个工具"
            return result
        else:
            return ""  # 用户点击了取消
            
    except subprocess.CalledProcessError:
        # 用户点击了取消或出现错误
        return ""
    except Exception as e:
        print(f"错误: {e}")
        return ""
​
if __name__ == "__main__":
    mcp.run()

四、配置过程

python 复制代码
{
  "mcpServers": {
    "Figma MCP PRO": {
      "command": "npx",
      "args": [
        "figma-mcp-pro@latest",
        "--figma-api-key",
        "figd_XxrNQxKPTTlx5utxMiRVVQVAcw7rpJbf_I_KLVb-"
      ],
      "env": {
        "DEBUG": "true"
      }
    },
    "Input-pop-up": {
      "command": "/Users/lxj/fastmcp/venv/bin/python3",
      "args": [
        "/Users/lxj/fastmcp/Input-pop-up-window.py"
      ],
      "env": {
        "PYTHONPATH": "/Users/lxj/fastmcp"
      }
    }
  }
}

参考:https://gofastmcp.com/getting-started/installation

相关推荐
金銀銅鐵14 小时前
[Python] 扩展欧几里得算法
python·数学·算法
Duckdblab14 小时前
DuckDB 性能调优终极指南:打造闪电般的分析体验
python
带派擂总15 小时前
Python全栈开发精华版最全合集(包含各种面试题) Day24_异常和错误
python
金銀銅鐵18 小时前
n^5 和 n 的个位数是否总相等?
python·数学
aqi0021 小时前
15天学会AI应用开发(九)利用Chroma持久化向量数据
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵21 小时前
借助 Pygame 探索最大公约数的规律
python·数学·游戏
ServBay2 天前
9 个 Python 第三方库推荐,不用 AI 都好像多出一个团队
后端·python
用户8356290780512 天前
如何使用 Python 添加和管理 Excel 批注(完整示例)
后端·python
用户8356290780512 天前
使用 Python 管理 Excel 工作表:创建、复制、删除与重命名
后端·python