使用说明(简明清晰,便于快速落地)
-
项目简介
- 本仓库实现了一个 MCP 服务器,它将对 Fastly 相关操作的资源、工具和提示模板以标准化的 MCP 协议暴露给 AI 客户端。服务器端负责执行控制、权限校验以及会话管理,并提供多种传输方式,方便在不同的应用场景中使用。
-
主要功能点
- 资源与数据访问:通过工具接口托管和查询资源数据,支持分页、缓存等能力。
- 工具注册与执行:提供可注册的工具集,LLM 可以通过工具调用外部能力(如列表、描述、执行命令等)。
- Prompt 模板渲染:支持为不同对话场景渲染与返回提示模板,便于 AI 进行上下文理解。
- 安全与合规:实现命令白名单、参数长度限制、禁止的命令集合、输入清洗与输出脱敏等,防止注入和不安全操作。
- 多传输协议支持:
- StdIO(默认,直接与 AI 应用的输入输出交互)
- HTTP(Streamable HTTP/ SSE,可通过浏览器或 AI 客户端直接访问)
- 会话与能力声明:服务器对话能力、模型推荐、以及对外部资源的访问能力进行声明和管理。
-
安装步骤
- 需要先安装 Go 1.23 及以上版本
- 下载源码并编译
- 使用示例(编译后直接运行)
- 若需要通过 HTTP 访问,启动时带上 --http 参数并可选择 --sse
-
服务器配置(客户端无需部署此部分,而是用于连接服务器的配置信息)
- 下面为 MCP 客户端连接该 MCP 服务器的示例配置说明(文本描述,不是代码块)
- 配置要点:
- server name(服务器标识,例如 fastly)
- command(启动 MCP 服务器的命令路径,例如 /path/to/fastly-mcp)
- args(启动命令的参数,通常为空数组)
- 一次性示例(描述性文本,不作为代码块):你可以在你的 AI 集成工具中添加一个 MCP 服务器条目,名称为 fastly,命令为 /path/to/fastly-mcp,参数为空数组。此配置仅用于客户端连接配置,服务器端实现会按 MCP 协议处理请求并返回 JSON-RPC 风格的响应。
- 关键说明:MCP 客户端本身并不需要修改服务器端实现,服务器通过标准 MCP 接口接收请求并返回结果。此处提供的配置仅用于描述如何在客户端端连接与使用。
-
基本使用方法
- 启动方式
- 默认:在本地以 STDIO 模式启动 fastly-mcp 二进制,与 AI 应用直接进行输入输出交互
- HTTP 模式:fastly-mcp --http [addr] 可通过 SSE 或 StreamableHTTP 进行网络通信
- 常用操作
- 列出可用命令、描述命令、执行命令等,通过 MCP 客户端向服务器发送相应的 JSON-RPC 请求
- 使用缓存工具处理大输出、分页读取数据
- 安全与调试
- 使用 --sanitize 可以对输出中的敏感信息进行脱敏处理
- 使用 --encrypt-tokens 启用对敏感令牌的格式化隐私保护(传输时脱敏)
- 如遇 Fastly CLI 环境或权限相关错误,查看服务器输出的错误码与指引信息,结合返回的 JSON 结构进行定位
- 开发与扩展
- 服务器具备插件式工具注册和安全策略配置路径,便于二次开发和自定义工具
- 支持 HTTP SSE 与 HTTP Streamable 两种传输模式,便于在不同 AI 客户端中灵活接入
- 启动方式
-
注意事项
- 需要确保系统中正确安装并配置 Fastly CLI(fastly),并按需要完成认证
- 生产环境下建议开启必要的安全策略和审计日志
- 客户端在连接时应确保网络访问 MCP 服务器地址(localhost:8080 或自定义地址)
-
可用命令与使用示例(高层信息)
- fastly_list_commands:列出可用的 Fastly 命令及其描述
- fastly_describe:查询某个命令的详细信息、参数和用法
- fastly_execute:执行某个 Fastly 命令的具体操作
- current_time:获取当前时间信息,便于上下文处理
- fastly_result_read/fastly_result_query/fastly_result_summary/fastly_result_list:管理缓存结果
- fastly_background_start/fastly_background_stop/fastly_background_read/fastly_background_status/fastly_background_list/fastly_background_query:管理后台流式命令
信息
分类
AI与计算