演示HBr-MCP服务器
描述
这个存储库包含一个简单的模型链提供商(MCP)服务器,使用FastMCP来展示与MySQL数据库交互的工具。该项目还包括一个Streamlit应用程序(app.py通过 Llama Index(使用 BasicMCPClient) 并且可以创建一个调用服务器上注册的工具的代理。
主要组件
servidor.pyMCP 服务器注册用于操作表的工具tomografo.app.pyStreamlit 应用程序通过 Llama Index 创建 FunctionAgent 代理并使用 MCP 工具。美国OpenAI(或其他配置的LLM)运行代理和BasicMCPClient进入MCP服务器。cliente_ollama.ipynb— 带备用客户端示例的笔记本电脑。
功能(已更新)
- MCP 工具可在
servidor.py:
- add_data(query: str) -> bool 在表中执行 INSERT tomografo. - read_data(query: str = "SELECT * FROM tomografo") -> str 执行 SELECT 并返回带有结果的 JSON。 - erase_data(query: str) -> bool --executa删除。 - update_data(query: str) -> dict — 执行 UPDATES 并返回 status + 受影响的行。 - create_bar_chart(x: list, y: list, x_label: str, y_label: str) -> str 准备一个JSON有效载荷,指定条形图(类型 bar_chart客户端应用程序可以绘制(Streamlit)。
要求
- Python 3.8+
- MySQL服务器(创建一个银行)
hbr_demo_db或更新servidor.py使用的名称)。 - Ollama(可选,用于本地模板运行)或其他配置在
app.py. - Python 依赖列在
requirements.txt.
相关设置( 已更新)
- 嗯
servidor.py,函数init_db()默认使用 :
- 用户: root - 密码: pass123 - 主机: 127.0.0.3 - 数据库: hbr_demo_db
您可以直接在文件中更改这些值,或调整以使用环境变量。如果数据库不存在,请在服务器启动前创建它:
CREATE DATABASE IF NOT EXISTS hbr_demo_db;如何运行(PowerShell)
- 安装 Python 依赖关系
python -m pip install -r requirements.txt- 配置MySQL
- 确保 MySQL 正在运行,并且基础
hbr_demo_db存在 。更新凭据/主机servidor.py如有必要。
- (可选) 准备本地或云模型
- 如果您打算使用Ollama作为本地LLM提供商,请安装Ollama并加载所需模板(例如:
qwen3:4b)。如果您正在使用 OpenAI,请定义OPENAI_API_KEY在您的环境中(在一个文件中).env).
- 启动或MCP服务器
python servidor.py --server_type=sse- 运行 Streamlit 应用程序(客户端)
streamlit run app.py对 的 评论 app.py
- 哦
app.py创建一个FunctionAgent使用 Call Index 搜索 MCP 工具BasicMCPClient默认指向http://127.0.0.1:8000/sse. - 该应用程序希望您在下面设置了兼容的LLM
app.py默认情况下,代码使用OpenAI随着环境变量OPENAI_API_KEY.
快速使用
- INSERT 调用示例
add_data:
INSERT INTO tomografo (nomePaciente, idade, resultados)
VALUES ('Alice Guerra', 25, 'Retinopatia diabética');- SELECT via 示例
read_data(返回 JSON):
SELECT * FROM tomografo;- UPDATE 例子
update_data:
UPDATE tomografo SET idade = 32 WHERE nomePaciente = 'Ana Beatriz';故障排除注意事项
- MySQL连接错误:请检查用户/密码/主机/端口以及MySQL服务是否处于活动状态。
- 数据库不存在: 创建
hbr_demo_db手动或更新servidor.py指向正确的银行。 - Ollama 问题:请确认指定的模型已安装并在本地可用。
- 终点MCP:
app.py笔记本电脑默认使用http://127.0.0.1:8000/sse如果您在另一个主机/端口上启动服务器,请更新。
安全和隐私
- 这个项目是一个示例/演示。不要在仓库中存储敏感的凭据。使用环境变量或安全的配置文件来生成凭据。
建议的下一步
- 添加一个
LICENSE适当。 - 包括用于 lint/tests 的 CI(例如 GitHub Actions)。
- 为 MCP 工具添加自动示例和单元测试。
贡献
随时打开 issues 和 pull requests。对于更大的更改,请描述用例并包括可重复测试。
已修改/兼容的主要文件
servidor.py--注册为MCP的ferramentas:add_data、read_data、erase_data、update_data、create_bar_chart。app.py--应用程序Streamlit que monta um FunctionAgent通过Llama Index e consome作为工具通过BasicMCPClient.
联系方式
该项目由HBr - CIIA团队维护。
