FireTail 资源策略 MCP 服务器
一个模型上下文协议(MCP)服务器,为Claude Desktop提供直接访问FireTail资源策略API的权限。这使得能够通过自然语言辅助管理资源策略、过滤器和警报配置。
特点/功能
- 🔐(锁形符号,常用于表示保密、安全或密码等含义) OAuth2 认证 - 使用客户端凭据流的自动令牌管理
- 🔄 翻译成中文是:循环/旋转(符号本身无具体含义,根据上下文可理解为循环、重复或旋转的动作或状态)。 自动令牌刷新 - 无缝处理令牌过期
- 🛠️(工具/扳手) 8大核心工具 - 对资源策略进行完整的CRUD(创建、读取、更新、删除)操作
- 📝 翻译成中文是:📝(这个符号本身没有特定的中文翻译,它通常表示“待办事项”或“笔记”的意思,可以理解为“待办事项列表”或“笔记条目”等,具体含义需结合上下文来确定。) TypeScript - 全面的类型安全性,配备完整的类型定义
- 🌍 代表地球。 多区域 - 支持欧盟和美国的终端点
- ⚡(闪电符号,常用于表示快速、能量或警告等含义) 准备就绪,可用于生产 - 错误处理、重试逻辑和日志记录
可用工具
| 工具 | 描述 |
|---|---|
list_resource_policies | 列出组织的所有资源策略 |
list_premade_filters | 列出组织的所有预设过滤器 |
list_resource_items | 列出一个组织的所有资源项目 |
list_existing_integrations_for_policy | 列出组织中所有现有的通知集成 |
create_resource_policy | 创建一个新的资源策略 |
get_resource_policy | 通过 UUID 获取资源策略 |
update_resource_policy | 更新现有资源策略 |
delete_resource_policy | 删除资源策略 |
先决条件
- Node.js 18+(支持原生fetch)
- Claude 桌面应用程序
- FireTail OAuth2 凭证(客户端ID和密钥)
- 您的FireTail组织唯一标识符(UUID)
1. 克隆并安装
# Clone repo
git clone https://github.com/kleysonfiretail/firetail-mcp-server.git
cd firetail-mcp-server
# Install dependencies
npm i2. 构建项目
npm run build3 获取FireTail凭证
获取您的OAuth2凭据 来自FireTail:
- 客户端ID您的OAuth2客户端ID
- 客户端密钥(或 客户端秘密)您的OAuth2客户端密钥
验证您的凭证:
curl -X POST https://api.saas.eu-west-1.prod.firetail.app \
-d grant_type=client_credentials \
-d client_id=YOUR_CLIENT_ID \
-d client_secret=YOUR_CLIENT_SECRET4. 配置Claude桌面版
编辑Claude Desktop的配置文件:
MacOS:(译文与原文相同,因为“MacOS”本身是专有名词,无需翻译) ~/Library/Application Support/Claude/claude_desktop_config.json\ Windows: %APPDATA%\Claude\claude_desktop_config.json
添加此配置:
{
"mcpServers": {
"firetail-resource-policy": {
"command": "node",
"args": ["/absolute/path/to/firetail-mcp-server/dist/index.js"],
"env": {
"FIRETAIL_API_URL": "https://api.saas.eu-west-1.prod.firetail.app",
"FIRETAIL_CLIENT_ID": "your-client-id-here",
"FIRETAIL_CLIENT_SECRET": "your-client-secret-here",
"FIRETAIL_DEFAULT_ORG_UUID": "your-org-uuid",
"FIRETAIL_DEFAULT_PLATFORM_TYPE": "ai"
}
}
}
}重要提示: 使用你文件的绝对路径 dist/index.js 文件!
区域配置
欧盟(默认):
"FIRETAIL_API_URL": "https://api.saas.eu-west-1.prod.firetail.app"美国:
"FIRETAIL_API_URL": "https://api.saas.us-east-2.prod.us.firetail.app"5. 重启Claude桌面应用
完全退出并重新启动 Claude Desktop 以使配置生效。
6. 使用示例
一旦配置完成,您就可以使用自然语言与FireTail API进行交互:
1. 列出与搜索
列出所有资源策略
"List all resource policies"
"Show me all policies"搜索特定政策
"List all resource policies with 'deepseek' in the name"
"Find policies named with 'test'"
"Search for policies containing 'production'"列出建议的政策(预设过滤器)
"List all suggested policies"
"Show me available premade filters"
"What suggested policies are available for AI platform?"列出通知集成
"List all existing integrations"
"Show me Slack integrations"
"Find integrations named with 'email'"列出资源项目
"List all resource items for AI platform"
"Show me available resources"2. 查看政策详情
获取具体的政策信息
"Show me details of policy UUID abc-123"
"Get the resource policy with UUID xyz-789"
"Load policy abc-123 with customizations"3. 制定政策
基本政策制定
"Create a new resource policy called 'Production Monitor' with description 'Monitor prod AI usage'"
"Create a policy named 'DeepSeek Alert' using the DeepSeek suggested policy"带通知的策略
"Create a policy called 'Critical Alerts' using suggested policy 1 and send notifications to Slack UUID abc-123"
"Create 'Team Notifications' policy with multiple Slack channels"带有自定义过滤器的策略
"Create a policy with custom filters for specific LLM models"
"Create a policy that monitors OpenAI GPT-4 usage in GitHub"4. 更新政策
更新策略名称
"Update the resource policy named 'testing' to 'Claude MCP'"
"Rename policy 'old-name' to 'new-name'"更新策略描述
"Update the description of policy 'Monitor AI' to 'Track all AI model usage'"
"Change the description for policy UUID abc-123"添加/移除通知
"Add Slack notification UUID xyz-789 to policy 'Production Monitor'"
"Remove notification from policy 'Test Policy'"修改过滤器
"Update policy 'DeepSeek Monitor' to include GitHub and GitLab platforms"
"Add custom filter for GPT-4 models to policy 'AI Tracking'"5. 删除策略
按名称或UUID删除
"Delete the resource policy 'Show and Tell'"
"Delete policy with UUID abc-123"
"Remove the 'testing' policy"6. 复杂的工作流程
建立全面的监测体系
"Create a policy that monitors all DeepSeek usage in code repositories and sends alerts to the security team Slack channel"
"Set up a policy to track any AI model usage on cloud platforms, excluding GitHub, and notify via email"审计与清理
"List all policies created by riley@firetail.io"
"Find all disabled policies"
"Show me policies that haven't been updated in the last 30 days"批量操作
"Show me all test policies so I can decide which to delete"
"List all policies using the 'Any AI Usage' suggested filter"7. 集成管理
找到合适的融合方式
"List all Slack integrations for team notifications"
"Find the Slack channel integration for @user"
"Show me all enabled notification integrations"设置警报
"Create a policy using 'Any AI Usage' and send alerts to all team Slack channels"
"Set up monitoring for DeepSeek with notifications to security@company.com"8. 政策分析
理解配置
"What filters are applied to policy 'Production Monitor'?"
"Show me which notifications are configured for 'DeepSeek Alert'"
"What suggested policies are being used by 'AI Tracking'?"合规与报告
"List all policies monitoring AI usage in code"
"Show me policies that alert on high-risk models"
"Which policies are monitoring platform usage vs code usage?"项目结构
firetail-mcp-server/
├── src/
│ └── index.ts # Main MCP server code
├── dist/ # Compiled JavaScript (generated)
│ └── index.js
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This file发展
以开发模式运行
npm run dev类型检查
npx tsc --noEmit为生产构建(或准备生产环境)
npm run build查看日志
MacOS:
tail -f ~/Library/Logs/Claude/mcp*.logWindows:
Get-Content "$env:APPDATA\Claude\logs\mcp*.log" -Wait故障排除
服务器未显示
检查:
- 配置文件是有效的JSON格式
- 绝对路径是正确的
- Claude Desktop 已完全重启
- 构建成功 (
dist/index.js存在
认证错误
验证:
- CLIENT_ID 和 CLIENT_SECRET 是正确的
- 凭证未过期
- 您有权访问该组织
- API URL与您的区域相匹配
手动测试:
curl -X POST https://api.saas.eu-west-1.prod.firetail.app \
-d grant_type=client_credentials \
-d client_id=YOUR_CLIENT_ID \
-d client_secret=YOUR_CLIENT_SECRET安全最佳实践
✅ 永远不要提交凭据 进行版本控制\ ✅ 使用环境变量 对于敏感数据\ ✅ 定期更换凭证\ ✅ 限制凭证权限 达到所需范围\ ✅ 监控API使用情况 通过FireTail仪表板\ ✅ 保持依赖项更新 用于安全补丁
使用环境变量
创建一个 .env 文件(请勿提交):
FIRETAIL_API_URL=https://api.saas.eu-west-1.prod.firetail.app
FIRETAIL_CLIENT_ID=your-client-id
FIRETAIL_CLIENT_SECRET=your-client-secret
FIRETAIL_DEFAULT_ORG_UUID=your-org-uuid
FIRETAIL_DEFAULT_PLATFORM_TYPE=ai终点(或结局指标)
所有API端点均在FireTail OpenAPI规范中有详细文档说明。服务器提供了与这些端点相对应的MCP工具:
/organisations/{org_uuid}/resource-policies/filters/organisations/{org_uuid}/resource-policies/resources/organisations/{org_uuid}/resource-policies/organisations/{org_uuid}/resource-policies/{resource_policy_uuid}/organisations/{org_uuid}/search
支持
对于以下问题:
- 这个MCP服务器在GitHub上创建一个议题(或问题)
- FireTail API: 联系 FireTail 支持团队
- Claude Desktop(可译为“Claude桌面版”)访问 https://support.claude.com
致谢
构建于:
