Function Calling vs MCP Server

Function Calling vs MCP Server

site icon
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灯光)。

核心功能

  1. 展示LLM函数调用与MCP协议的差异
  2. 提供实际示例(控制Home Assistant灯光)
  3. 支持通过MCP协议与第三方服务(如Home Assistant)通信

适用场景

  1. 开发者学习LLM函数调用与MCP协议的差异
  2. 实际应用MCP协议控制智能家居设备
  3. 集成MCP服务器到LLM应用中

工具列表

  1. ./func-calling:使用OpenAI函数调用的CLI应用程序
  2. ./mcp-server:Node.js MCP服务器
  3. ./data-manager:Home Assistant数据管理工具
  4. ./hass-ws-client:Home Assistant WebSocket客户端

常见问题解答

  1. 如何获取Home Assistant API令牌?
  2. 需要在Home Assistant中生成API令牌并配置到.env文件中。
  3. 如何将MCP服务器添加到LLM应用配置中?
  4. 需要在LLM应用配置文件中指定MCP服务器的名称和启动命令。

使用教程

使用依赖

  1. 确保已安装Node.js和Bun
  2. 确保已安装Home Assistant并获取API令牌

安装教程

  1. mcp-server目录中创建.env文件: bash cp mcp-server/.env.example mcp-server/.env
  2. .env文件中添加Home Assistant API令牌: bash HOME_ASSISTANT_API_TOKEN=<your-home-assistant-api-token>
  3. 构建MCP服务器: bash bun i bun run build
  4. 将MCP服务器添加到LLM应用配置中(如Cursor): json { "name": "home-assistant", "command": "node /Users/andrelandgraf/workspaces/mcps/mcp-server/dist/index.js" }

调试方式

  1. 启动MCP服务器: bash bun run start
  2. 使用LLM应用测试MCP服务器功能(如控制灯光)

许可证

None