
Function Calling vs MCP Server

2025.03.10
7
TypeScriptLLM工具比较智能家居控制其它
该仓库旨在展示LLM函数调用与模型上下文协议(MCP)之间的差异。函数调用已经存在一段时间,而MCP是一种较新的标准化尝试。通过比较这两种方法,展示了MCP的价值以及它如何在函数调用的基础上构建。
该仓库包含两个示例:
- `/func-calling`:使用OpenAI的函数调用控制Home Assistant灯的CLI应用程序
- `/mcp-server`:暴露`control_lights`功能给使用MCP协议的LLM的Node.js MCP服务器
View on GitHub
Overview
基本能力
产品定位
该服务主要用于展示和比较LLM函数调用与MCP协议的区别,并提供实际示例(如控制Home Assistant灯光)。
核心功能
- 展示LLM函数调用与MCP协议的差异
- 提供实际示例(控制Home Assistant灯光)
- 支持通过MCP协议与第三方服务(如Home Assistant)通信
适用场景
- 开发者学习LLM函数调用与MCP协议的差异
- 实际应用MCP协议控制智能家居设备
- 集成MCP服务器到LLM应用中
工具列表
./func-calling
:使用OpenAI函数调用的CLI应用程序./mcp-server
:Node.js MCP服务器./data-manager
:Home Assistant数据管理工具./hass-ws-client
:Home Assistant WebSocket客户端
常见问题解答
- 如何获取Home Assistant API令牌?
- 需要在Home Assistant中生成API令牌并配置到
.env
文件中。 - 如何将MCP服务器添加到LLM应用配置中?
- 需要在LLM应用配置文件中指定MCP服务器的名称和启动命令。
使用教程
使用依赖
- 确保已安装Node.js和Bun
- 确保已安装Home Assistant并获取API令牌
安装教程
- 在
mcp-server
目录中创建.env
文件:bash cp mcp-server/.env.example mcp-server/.env
- 在
.env
文件中添加Home Assistant API令牌:bash HOME_ASSISTANT_API_TOKEN=<your-home-assistant-api-token>
- 构建MCP服务器:
bash bun i bun run build
- 将MCP服务器添加到LLM应用配置中(如Cursor):
json { "name": "home-assistant", "command": "node /Users/andrelandgraf/workspaces/mcps/mcp-server/dist/index.js" }
调试方式
- 启动MCP服务器:
bash bun run start
- 使用LLM应用测试MCP服务器功能(如控制灯光)
许可证
None