Token导航 LogoToken导航TokenDH.com
Dosilt MCP Study logo
AI代理stdio官方级别未说明来源级核验

Dosilt MCP Study

MCP Server

一个基于MCP协议和LangChain的个人计算器代理,支持通过自然语言进行数学运算和记录管理。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
自然语言处理数学计算PythonAI代理LangChain

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dosilt

提供方

dosilt

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python client_cli.py

详细介绍

个人计算器MCP

使用模型上下文协议(MCP)的个人计算机代理项目。您可以使用LangChain和LangGraph用自然语言控制计算器。

结构

MCPtest/
├── server.py        # MCP 서버 (계산기 도구 제공)
├── client.py        # 스크립트 모드 클라이언트
├── client_cli.py    # 대화형 CLI 클라이언트
├── pyproject.toml   # 프로젝트 설정
└── .env_sample      # 환경변수 샘플

功能

MCP服务器(server.py)

  • 设置/查询用户名
  • 四则运算(加法、减法、乘法、除法)
  • 查看计算历史记录
  • 查询统计信息
  • 累计合计计算
  • 初始化计算器

客户端

  • 客户端.py:按预定义的方案顺序运行
  • client_cli.py:通过交互式界面自由查询

安装

需求

  • Python 3.13+
  • uv(包管理器)

安装方法

# uv 설치 (없는 경우)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 프로젝트 의존성 설치
uv sync

环境设置

.env_sample请参阅 .env 请创建文件。

cp .env_sample .env

环境变量

变量说明
MODEL_NAME要使用的型号名称(例如: gpt-4o, Qwen/Qwen3-32B)
OPENAI_API_KEYOpenAI API密钥(使用GPT模型时)
CUSTOM_LLM_URL自定义LLM服务器URL(使用vLLM等时)

选择型号:

  • 在型号名称中 gpt包括时使用OpenAI API
  • 其他情况 CUSTOM_LLM_URL使用的自定义LLM服务器

使用方法

交互式模式(推荐)

uv run python client_cli.py

命令:

  • 自由输入一般问题
  • help:获取帮助
  • exitquit:结束

脚本模式

uv run python client.py

按顺序运行预定义的方案。

使用示例

💬 You: 내 이름은 철수야
🤖 Bot: 안녕하세요, 철수님! 계산기를 시작합니다.

💬 You: 5 + 3을 계산해줘
🤖 Bot: 철수님, 5 + 3 = 8

💬 You: 10 × 2를 계산해줘
🤖 Bot: 철수님, 10 × 2 = 20

💬 You: 기록 보여줘
🤖 Bot: 📊 철수님의 계산 기록:
1. add: 5 → 3 = 8
2. multiply: 10 → 2 = 20

💬 You: 통계 보여줘
🤖 Bot: 📈 철수님의 통계:
- 총 계산 횟수: 2
- 누적 합계: 28
- 연산별 사용 횟수:
  • add: 1회
  • multiply: 1회

动作原理

体系结构概述

┌─────────────────────────────────────────────────────────────┐
│                        Client                               │
│  ┌─────────────┐    ┌─────────────┐    ┌────────────────┐  │
│  │   User      │───▶│  ReAct      │───▶│  MCP Tools     │  │
│  │   Input     │    │  Agent      │    │  (LangChain)   │  │
│  └─────────────┘    └─────────────┘    └───────┬────────┘  │
└───────────────────────────────────────────────┬┼───────────┘
                                                ││
                              stdio (stdin/stdout)
                                                ││
┌───────────────────────────────────────────────┼┼───────────┐
│                     MCP Server                ▼▼           │
│  ┌────────────────────────────────────────────────────┐   │
│  │  FastMCP (server.py)                               │   │
│  │  - set_user_name, get_user_name                    │   │
│  │  - add, subtract, multiply, divide                 │   │
│  │  - get_history, get_stats, get_total               │   │
│  │  - reset_calculator, reset_all                     │   │
│  └────────────────────────────────────────────────────┘   │
└───────────────────────────────────────────────────────────┘

MCP连接过程

客户端运行时服务器 自动一起运行可以。无需单独运行服务器。

1.设置Stdio Server参数

self.server_params = StdioServerParameters(
    command="python",
    args=["server.py"],
)

StdioServerParameters将MCP服务器作为subprocess运行。 stdin/stdout通过进行通信的方式。客户端 python server.py 自动执行命令。

2.连接到stdio_client

self.stdio_ctx = stdio_client(self.server_params)
read, write = await self.stdio_ctx.__aenter__()

stdio_client创建服务器进程并返回通信通道(read/write流)。

3.初始化ClientSession

self.session_ctx = ClientSession(read, write)
session = await self.session_ctx.__aenter__()
await session.initialize()

ClientSession是处理MCP协议的会话。 initialize()调用将与服务器握手,并获取可用工具列表。

4.将MCP工具转换为LangChain工具

tools = await load_mcp_tools(session)
self.agent = create_react_agent(self.model, tools)

load_mcp_tools将MCP服务器提供的工具转换为LangChain兼容格式。将这些工具连接到ReAct代理后,LLM将分析自然语言问题并自动调用相应的工具。

通信方式比较

方式说明使用案例
标准subprocess+stdin/stdout本地运行(当前项目)
上海证券交易所HTTP Server-Sent Events连接远程服务器
双向通信 双向实时通信实时流媒体

当前项目 标准 因此,客户端和服务器在同一台机器上运行。

依赖性

  • fastmcp:MCP服务器框架
  • mcp:MCP客户端
  • langchain:LLM框架
  • langchain-mcp-adapters:MCP-LangChain适配器
  • langchain-openai:OpenAI集成
  • langgraph:ReAct代理

目录标签

目录标签

自然语言处理数学计算PythonAI代理LangChain本地部署MCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP