MCP服务器演示项目
合作者Axel干部
该项目是与ERPNEXT集成的Chatbot MCP服务器的一个例子(对于该项目,您已经被认为可以访问ERP)
设置
使用从带有IFConfig的VM获得的IP前往主页
指定设置
DezPlazate向下,生成并复制API密钥和API机密
保存凭据
下载或克隆存储库
Python 安装
本文档解释如何使用 winget.
先决条件
- Windows 10高级版
- 启用包管理器
winget
步骤 1: 安装 Python
以管理员身份打开Windows终端(PowerShell或CMD),并运行:
winget install Python.Python.3
## Instalación de dependencias con uv en Windows
1. Abre PowerShell.
2. Instala pipx si no lo tienes:pip install pipx
3. 使用PIPX安装紫外线:
pipx install uv
或直接与PIP:
pip install uv
1. 验证安装:
uv --version
1. 使用UV创建虚拟环境:
uv venv .venv
1. 激活虚拟环境:
.venv\Scripts\Activate.ps1
1. 安装项目依赖项:
uv pip install -r requirements.txt
1. 如果您在安装UV时遇到问题,请以管理员身份测试:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
## 配置您的环境变量
创建一个名为 `.env` 在项目的根目录中,包含以下内容(根据您的ERPNEXT替换值):
URL_ERPNext=http://192.168.52.128/ API_KEY=tu_api_key API_SECRET=tu_api_secret
确保这些数据与您在ERPNEXT配置中获得的数据相匹配。
该存储库包含:
- 服务器源代码
- 图像和图表
有关更多信息,请查看文件夹中的文档 `Docs/`.
## 如何将教师分配给销售订单的工具?
视觉功能 `asignar_profesor_a_orden_venta` 它允许将教师(必须事先作为ERPNEXT中的“Sales Person”存在)分配给特定的销售订单。
**他是做什么的?**
- 接收销售订单的ID(`sales_order_id`)教授的名字(`profesor`).
- 更新字段 `sales_team` 从ERPNEXT的销售订单中,分配100%参与的教授。
- 返回操作结果并打印一条消息,指示更新是否成功或是否存在错误。
**使用示例:**
asignar_profesor_a_orden_venta("SO-0001", "Juan Perez")
这将指派“胡安·佩雷斯”负责ID为“SO-0001”的销售订单。
**注:** 教师必须在ERPNEXT中以“Sales Person”的身份存在,才能使作业正常工作。
## 什么是MCP,它在这个项目中是如何工作的?
MCP(Model Context Protocol)是一种协议和框架,允许将Python函数作为智能助手、聊天机器人或外部集成的可访问工具公开。在这个项目中,使用类 `FastMCP` 记录和暴露与ERPNEXT交互的函数。
- 每个功能都装饰着 `@mcp.tool()` 它成为向导或从其他系统调用的可用工具。
- MCP以结构化和安全的方式管理这些功能的通信、注册和执行。
- MCP服务器可以在不同的传输模式下运行(例如, `stdio`,HTTP等),促进与其他会话服务或接口的集成。
**基本示例:**
from mcp.server.fastmcp import FastMCP mcp = FastMCP("Demo1")
@mcp.tool() def mi_funcion(param): # lógica aquí return resultado
这使得 `mi_funcion` 从连接到MCP服务器的向导或接口调用。
## 要在本地使用GitHub Local,您必须使用mcp.json文件
将main.py文件的路径添加到您的计算机上,然后选择“重新启动”或“开始”

然后单击GitHub Copilot聊天室中的工具符号

然后你会看到你的工具是否可用

### 运行独立的MCP开发工具
要使用uv运行mcp命令:
uv run mcp
## 快速启动
让我们创建一个简单的MCP服务器,它公开了一个计算器工具和一些数据:
server.py
from mcp.server.fastmcp import FastMCP
Create an MCP server
mcp = FastMCP("Demo")
Add an addition tool
@mcp.tool() def add(a: int, b: int) -> int: """Add two numbers""" return a + b
Add a dynamic greeting resource
@mcp.resource("greeting://{name}") def get_greeting(name: str) -> str: """Get a personalized greeting""" return f"Hello, {name}!"
您可以在以下位置安装此服务器 [克劳德桌面](https://claude.ai/download) 并通过运行以下命令立即与之交互:
mcp install server.py
或者,您可以使用MCP检查器进行测试:
mcp dev server.py
### 测试
在配置后,您可以更准确地修改您的功能,您可以通过以下示例从GitHub Copilot聊天室测试服务器:

您可以在Customer中验证创建

## 奖金 - 使用 Claude 桌面
您可以在以下位置安装此服务器 [克劳德桌面](https://claude.ai/download) 并通过运行以下命令立即与之交互:
mcp install server.py

### 打开密钥
验证工具是否存在

### 创建学生测试
会出现一个弹出窗口,自动填充MCP

然后检查输出和ERP

ERPNEXT
