项目简介
Firelynx 是 Model Context Protocol (MCP) 服务器的一个可脚本化实现。它使像 Claude 这样的 AI 助手能够通过脚本环境与自定义的工具、Prompt 模板和资源进行交互。Firelynx 专注于提供一个灵活、可扩展的后端,用于增强 AI 应用的能力。
主要功能点
- MCP协议支持: 实现了标准化的 Model Context Protocol,确保与兼容MCP的客户端通信。
- 可脚本化的工具和Prompt: 支持使用多种脚本语言(如Risor, Starlark, Extism WASM)创建自定义工具和Prompt模板。
- 热重载配置: 可以在服务器运行时通过gRPC或文件修改来更新配置,无需重启。
- 模块化架构: 清晰分离监听器(Listeners)、端点(Endpoints)和应用(Applications),便于扩展和维护。
- 多种脚本引擎: 集成了go-polyscript库,支持多种脚本执行环境。
安装步骤
Firelynx 使用 Go 语言编写,可以通过 Go 工具链轻松安装。
- 确保你已经安装了 Go 1.24 或更高版本。
- 打开终端,运行以下命令安装最新的Firelynx可执行文件:
go install github.com/atlanticdynamic/firelynx/cmd/firelynx@latest
这将在你的 Go Bin 路径下生成 'firelynx' 可执行文件。请确保该路径已添加到你的系统PATH环境变量中,或者记下可执行文件的位置。
服务器配置(供MCP客户端参考)
MCP客户端(如Claude)通常需要一个JSON格式的配置文件来了解如何启动和连接到MCP服务器进程。以下是针对Firelynx服务器的一种典型配置示例:
{ "name": "firelynx-mcp-server", "command": "/path/to/your/firelynx/binary/firelynx", "args": [ "server", "--config", "/path/to/your/firelynx/config.toml", // 可选:指定服务器的TOML配置文件路径 "--listen", ":8765" // 可选:指定服务器监听地址,例如用于gRPC配置API或HTTP/WebSocket监听器 ] // 客户端可能支持添加其他如 "env" (环境变量) 或 "cwd" (工作目录) 等配置 }
- '"name"': 给MCP服务器进程一个友好的名称,用于客户端界面显示。
- '"command"': 重要,需要替换为你在安装步骤中实际安装的 'firelynx' 可执行文件的完整路径。
- '"args"': 启动Firelynx服务器进程时传递的命令行参数。
- '"server"': 启动服务器模式。
- '"--config", "/path/to/your/firelynx/config.toml"': (可选)指定Firelynx的TOML配置文件路径。如果省略,服务器可能以默认或空配置启动(具体取决于Firelynx的实现)。你需要创建一个 'config.toml' 文件来定义Listener, Endpoint, App等。
- '"--listen", ":8765"': (可选)指定服务器监听的地址和端口。这是LLM客户端通过如JSON-RPC over HTTP/WebSocket连接时需要的地址。请根据你的实际Listener配置调整端口。
你需要根据你实际的Firelynx安装路径和期望的服务器配置(例如监听的端口、是否使用配置文件)来修改上述JSON配置。
基本使用方法
-
准备配置文件: 如果需要自定义监听器、应用、工具和资源,请创建一个 'config.toml' 文件。参考Firelynx仓库中的文档('internal/config/README.md'等)了解配置格式。
-
启动服务器: 在终端中,使用你在安装步骤中获得的 'firelynx' 可执行文件启动服务器,例如:
# 使用配置文件和指定的监听端口 firelynx server --config /path/to/your/config.toml --listen :8765 # 或者只指定监听端口(如果配置文件中没有定义监听器,这可能用于gRPC API) firelynx server --listen :8765服务器启动后,会监听指定的地址和端口。
-
配置MCP客户端: 在你的LLM客户端(如Claude的设置界面)中,找到配置MCP服务器的地方。使用上面“服务器配置”部分提供的JSON格式配置信息,填入你实际的'firelynx'执行路径和启动参数。
-
客户端交互: 启动LLM客户端,它将尝试连接并与Firelynx服务器交互,访问你通过配置文件定义的工具、资源和Prompt。
信息
分类
AI与计算