内容
# Fastn MCP 服务器
**为您的 AI 代理和应用程序提供安全、受控的访问客户工具和系统的能力,通过一个多租户 MCP 端点。**
Fastn 平台的一部分,适用于 SaaS 产品和 AI 代理的嵌入式集成平台。Fastn MCP 服务器是一个生产就绪的 [模型上下文协议(MCP)](https://modelcontextprotocol.io/) 网关,连接 AI 代理和应用程序到 Slack、Jira、GitHub、Salesforce、HubSpot、Postgres 等 200 多个服务,并具有完全管理的身份验证、受控的多租户访问和亚秒级执行。
基于 [Fastn SDK](https://github.com/fastn-ai/fastn-sdk) 构建,该服务器公开了 MCP 工具,任何兼容的 AI 平台都可以开箱即用。
## 为什么选择 Fastn MCP 服务器?
| 功能 | 描述 |
|---------|-------------|
| **250+ 连接器** | Slack、Jira、GitHub、Salesforce、HubSpot、Postgres、Stripe、Notion、Linear 等 |
| **MCP 原生** | 与 Claude Desktop、Cursor、Lovable、Bolt、v0 及任何 MCP 兼容客户端配合使用 |
| **完全托管的身份验证** | 每个连接器的 OAuth 2.1,无需令牌管理、无需应用程序注册、无需刷新处理 |
| **受控访问** | 基于角色的权限、审计跟踪和企业合规控制 |
| **SOC 2 认证** | 企业级安全性和合规性内置于平台 |
| **亚秒级执行** | 通过 Fastn 平台直接进行 API 调用,内置缓存和连接池 |
| **多种传输方式** | stdio(本地)、SSE 和 Streamable HTTP,适用于任何部署模型 |
| **生产就绪** | Docker 支持、健康检查、结构化日志记录和 OAuth 2.1 保护的资源元数据 |
| **流程自动化** | 创建、管理和执行多步骤工作流,组合工具 |
## 快速入门
### 1. 在 [app.fastn.ai](https://app.fastn.ai) 注册
创建帐户并连接您的第一个连接器(例如 Gmail、Slack、GitHub)。
### 2. 连接您的 MCP 客户端
**托管服务器(推荐)**,无需安装:
```
https://mcp.live.fastn.ai/shttp
```
将任何 MCP 客户端指向此 URL。身份验证通过 MCP OAuth 2.1 自动处理。有关 Claude Desktop 和 Cursor 示例,请参见 [客户端配置](#客户端配置)。
**自托管**,安装并运行您自己的实例:
```bash
pip install fastn-mcp-server
fastn-mcp --shttp --port 8000
```
## 连接到 MCP 服务器
### 端点
使用托管服务器(`mcp.live.fastn.ai`)或您的自托管实例。每个路径都公开了一组不同的工具:
| 端点 | 工具 |
|----------|-------|
| `/shttp` | 所有 11 种工具:`find_tools`、`execute_tool`、`list_connectors`、`list_skills`、`list_projects`、`list_flows`、`run_flow`、`delete_flow`、`create_flow`、`update_flow`、`configure_custom_auth` |
| `/shttp/tools` | 5 种工具:`find_tools`、`execute_tool`、`list_connectors`、`list_skills`、`list_projects` |
| `/shttp/tools/{project_id}` | 4 种工具:`find_tools`、`execute_tool`、`list_connectors`、`list_skills` |
| `/shttp/tools/{project_id}/{skill_id}` | 3 种工具:`find_tools`、`execute_tool`、`list_connectors` |
| `/sse`、`/sse/tools` 等 | SSE 传输的相同模式 |
**托管服务器示例:**
```
https://mcp.live.fastn.ai/shttp # 所有工具
https://mcp.live.fastn.ai/shttp/tools # Fastn 工具
https://mcp.live.fastn.ai/shttp/tools/{project_id} # 预设项目
https://mcp.live.fastn.ai/shttp/tools/{project_id}/{skill_id} # 预设项目 + 技能
```
### 身份验证
MCP 服务器支持三种身份验证方法。从 [app.fastn.ai](https://app.fastn.ai) 获取您的凭证。
#### MCP OAuth 2.1(推荐)
标准的 MCP OAuth 流与 PKCE。服务器自动桥接到 Fastn 的身份提供程序。只需将您的客户端指向 URL,您就会被提示进行身份验证:
```json
{
"mcpServers": {
"tools": {
"url": "https://mcp.live.fastn.ai/shttp"
}
}
}
```
#### 令牌/API 密钥
通过您的 MCP 客户端配置中的 `Authorization` 头传递 Fastn 身份验证令牌或 API 密钥:
```json
{
"mcpServers": {
"tools": {
"url": "https://mcp.live.fastn.ai/shttp",
"headers": {
"Authorization": "Bearer <your-token-or-api-key>"
}
}
}
}
```
您还可以传递 `x-project-id` 以将请求范围限定到特定项目:
```json
{
"mcpServers": {
"tools": {
"url": "https://mcp.live.fastn.ai/shttp",
"headers": {
"Authorization": "Bearer <your-token-or-api-key>",
"x-project-id": "<your-project-id>"
}
}
}
}
```
对于本地_stdio传输,请将凭证作为环境变量传递:
```json
{
"mcpServers": {
"tools": {
"command": "fastn-mcp",
"args": ["--stdio"],
"env": {
"FASTN_API_KEY": "your-api-key",
"FASTN_PROJECT_ID": "your-project-id"
}
}
}
}
```
## MCP 工具
服务器向 AI 代理公开这些工具:
### Fastn 工具
| 工具 | 描述 |
|------|-------------|
| `find_tools` | 按自然语言提示搜索可用的连接器工具。返回匹配的工具及其 ID 和输入模式。 |
| `execute_tool` | 按 ID 执行连接器工具并带有参数。直接返回结果。 |
| `list_connectors` | 浏览注册表中所有 250 多个可用的连接器,包括尚未连接的连接器。 |
| `list_skills` | 列出项目中可用的技能。 |
| `list_projects` | 列出经过身份验证的用户可用的项目。 |
**工作流程:** 浏览连接器 → `list_connectors`。执行操作 → `find_tools` → `execute_tool`。如果 `find_tools` 未返回相关内容 → `list_connectors`(连接器可能需要连接)。
### 流程管理
| 工具 | 描述 |
|------|-------------|
| `list_flows` | 列出项目中保存的自动化(流程)。 |
| `run_flow` | 按 ID 执行保存的流程。 |
| `delete_flow` | 从项目中删除流程。 |
| `create_flow` | *(开发中)* 从自然语言创建流程。 |
| `update_flow` | *(开发中)* 更新现有流程。 |
### 配置
| 工具 | 描述 |
|------|-------------|
| `configure_custom_auth` | 注册自定义 JWT 身份验证提供程序(Auth0、Firebase、Supabase)。 |
## 架构
```
AI 代理(Claude、Cursor、Lovable)
│
▼
MCP 协议(stdio / SSE / Streamable HTTP)
│
▼
┌─────────────────────────────┐
│ Fastn MCP 服务器 │
│ ┌───────────────────────┐ │
│ │ 工具发现 │ │ find_tools、list_connectors
│ │ 工具执行 │ │ execute_tool
│ │ 流程管理 │ │ list/run/delete/create 流程
│ │ 身份验证和配置 │ │ OAuth 2.1、自定义 JWT
│ └───────────────────────┘ │
└─────────────────────────────┘
│
▼
Fastn SDK → Fastn API
│
▼
250+ 连接器(Slack、Jira、GitHub、Salesforce、Postgres ...)
```
**连接器** 提供工具。**流程** 组合工具。**代理** 使用推理运行流程和工具。
## 客户端配置
上面的 JSON 示例适用于任何 MCP 客户端。以下是配置文件位置:
| 客户端 | 配置文件 |
|--------|------------|
| **Claude Desktop** | `claude_desktop_config.json` |
| **Cursor** | `.cursor/mcp.json` 在您的项目中 |
| **Claude Code** | `.mcp.json` 在您的项目中 |
对于 Cursor,请使用 `/shttp/tools` 端点仅公开 Fastn 工具(建议用于编码助手):
```json
{
"mcpServers": {
"tools": {
"url": "https://mcp.live.fastn.ai/shttp/tools"
}
}
}
```
## 自托管
### 传输模式
**stdio(本地)**,适用于基于管道的客户端:
```bash
fastn-mcp --stdio
fastn-mcp --stdio --mode tools # 仅限 Fastn 工具
fastn-mcp --stdio --mode tools --project ID # Fastn 工具 + 预设项目
fastn-mcp --stdio --mode tools --project ID --skill ID # Fastn 工具 + 预设项目和技能
```
**SSE + Streamable HTTP(远程)**,适用于基于 Web 的 AI 平台:
```bash
fastn-mcp --sse --shttp --port 8000
```
### OAuth 设置
远程传输默认使用 MCP OAuth 2.1。服务器实现 RFC 9728 受保护的资源元数据:
```bash
fastn-mcp --sse --shttp --port 8000
# OAuth 端点在 /.well-known/oauth-protected-resource 处自动配置
```
设置 OAuth 元数据的公共 URL:
```bash
fastn-mcp --sse --shttp --port 8000 --server-url https://mcp.example.com
```
禁用本地开发的 OAuth:
```bash
fastn-mcp --sse --port 8000 --no-auth
```
### Docker
```bash
docker build -t fastn-mcp .
docker run -p 8000:8000 fastn-mcp
```
```bash
docker compose up -d
```
### 环境变量
自托管部署的服务器配置:
```bash
FASTN_MCP_PORT=8000
FASTN_MCP_HOST=0.0.0.0
FASTN_MCP_SERVER_URL=https://your-public-url
FASTN_MCP_TRANSPORT=both
FASTN_MCP_NO_AUTH=false
FASTN_MCP_VERBOSE=false
```
| 变量 | 是否必需 | 描述 |
|----------|----------|-------------|
| `FASTN_MCP_PORT` | 否 | 服务器端口(默认:`8000`) |
| `FASTN_MCP_HOST` | 否 | 绑定地址(默认:`0.0.0.0`) |
| `FASTN_MCP_SERVER_URL` | 否 | OAuth 元数据的公共 URL |
| `FASTN_MCP_NO_AUTH` | 否 | 设置为 `true` 以禁用 OAuth(仅限开发) |
| `FASTN_MCP_TRANSPORT` | 否 | 传输模式:`sse`、`shttp`、`both`(默认:`both`) |
| `FASTN_MCP_VERBOSE` | 否 | 设置为 `true` 以启用调试日志记录 |
### 使用 ngrok 进行本地开发
仅限本地开发和测试,使用 ngrok 暴露本地服务器:
```bash
# 终端 1:启动 MCP 服务器
fastn-mcp --shttp --port 8000 --verbose
# 终端 2:启动 ngrok 隧道
ngrok http 8000
```
然后使用 ngrok URL 重新启动,以便 OAuth 元数据解析:
```bash
fastn-mcp --shttp --port 8000 \
--server-url https://abc123.ngrok-free.dev \
--verbose
```
对于生产环境,请使用 Docker 在反向代理后面部署,并使用真实域名。
## 开发
### 设置
```bash
git clone https://github.com/fastn-ai/fastn-mcp.git
cd fastn-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
```
### 运行测试
```bash
pytest tests/ -q
```
### 项目结构
```
fastn-mcp/
├── fastn_mcp/
│ ├── __init__.py # 包元数据
│ ├── __main__.py # CLI 入口点
│ ├── server.py # MCP 服务器、工具、处理程序、路由
│ ├── auth.py # OAuth 2.1 提供程序(RFC 9728)
│ └── tools/ # 工具实用程序
├── tests/
│ ├── test_server.py # 185+ 个测试,涵盖所有工具和传输
│ └── conftest.py # 测试夹具
├── Dockerfile # 生产容器
├── docker-compose.yml # 部署的 Docker Compose
├── pyproject.toml # Python 项目配置
└── README.md
```
## CLI 参考
```
fastn-mcp [选项]
传输:
--stdio 使用_stdio 传输(Claude Desktop、Cursor)
--sse 启用 SSE 传输
--shttp 启用 Streamable HTTP 传输
服务器:
--host HOST 绑定地址(默认:0.0.0.0)
--port PORT 端口号(默认:8000)
--no-auth 禁用 OAuth(仅限开发)
--server-url URL 公共 URL,用于 OAuth 元数据
模式:
--mode {agent,tools} 模式为_stdio:”agent“(所有工具)或”tools“(仅限 Fastn 工具)
--project ID 预设项目 ID,用于_stdio
--skill ID 预设技能 ID,用于_stdio(需要 --project)
调试:
-v, --verbose 启用调试日志记录
```
## 支持的连接器
Fastn 提供 250 多个预建连接器,包括:
**通信:** Slack、Microsoft Teams、Discord、Gmail、Outlook、SendGrid、Twilio
**项目管理:** Jira、Linear、Asana、Trello、Monday.com、ClickUp、Notion
**开发:** GitHub、GitLab、Bitbucket、PagerDuty、Sentry、Datadog
**CRM 和销售:** Salesforce、HubSpot、Pipedrive、Zoho CRM
**数据库:** PostgreSQL、MySQL、MongoDB、Redis、Supabase、Firebase
**云:** AWS、Google Cloud、Azure、Cloudflare
**财务:** Stripe、QuickBooks、Xero
**还有 200 多个**,请在 [fastn.ai/integrations](https://fastn.ai/integrations) 上浏览完整目录
## 许可证
MIT
## 链接
- [Fastn 平台](https://fastn.ai)
- [Fastn SDK](https://github.com/fastn-ai/fastn-sdk)
- [MCP 规范](https://modelcontextprotocol.io/)
- [文档](https://docs.fastn.ai)
连接信息
猜你喜欢
暂无推荐服务器