airflow-mcp-server:用于控制Airflow 3的MCP服务器
MCP名称:io.github.abhishekbhakat/airflow-mcp-server
MCPHub认证
这台MCP服务器已获得认证,由 MCPHub(可译为“MCP中心”或根据具体语境翻译为更贴切的名称,但在此直接保留原英文形式以体现其专有性)此认证确保airflow-mcp-server遵循模型上下文协议(Model Context Protocol)实现的最佳实践。
在Glama上查找
概述
A. 模型上下文协议 通过Airflow API控制Airflow的服务器。
演示视频
https://github.com/用户附件/资源/f3e60fff-8680-4dd9-b08e-fa7db655a705(注:这里的“用户附件”是对“user-attachments”的一种直译,但在实际使用中,可能会根据具体语境调整为更贴切的表述,如“用户上传的附件”或“用户资源”等)
设置
与Claude桌面版的使用
标准I/O传输(默认)
{
"mcpServers": {
"airflow-mcp-server": {
"command": "uvx",
"args": [
"airflow-mcp-server",
"--base-url",
"http://localhost:8080",
"--auth-token",
""
]
}
}
}看 CONFIG.md 以下是针对流行MCP客户端的IDE特定配置示例。
HTTP传输
{
"mcpServers": {
"airflow-mcp-server-http": {
"command": "uvx",
"args": [
"airflow-mcp-server",
"--http",
"--port",
"3000",
"--base-url",
"http://localhost:8080",
"--auth-token",
""
]
}
}
}注: - 设定;一套;组base_url到Airflow的根URL(例如。,http://localhost:8080)。 - Do(道/做/执行) 不是 包括/api/v2在基础URL中。服务器将自动从(某处)获取OpenAPI规范${base_url}/openapi.json。 - 在Airflow 3.0中,仅需JWT令牌进行身份验证。Cookie和基本身份验证不再受支持。
交通方式
该服务器支持多种传输协议:
标准I/O传输(默认)
用于直接进程通信的标准输入/输出传输:
airflow-mcp-server --safe --base-url http://localhost:8080 --auth-token HTTP传输
使用可流式传输的HTTP以提高可扩展性和网页兼容性:
airflow-mcp-server --safe --http --port 3000 --base-url http://localhost:8080 --auth-token 注: SSE 传输已被弃用。请使用 --http 对于新部署而言,因为它提供了更好的双向通信,是FastMCP推荐的方法。操作模式
该服务器支持两种操作模式:
- 安全模式 (
--safe): 仅允许只读操作(GET 请求)。当你希望防止对你的 Airflow 实例进行任何修改时,这非常有用。 - 不安全模式 (
--unsafe): 允许所有操作,包括修改。这是默认模式。
以安全模式启动:
airflow-mcp-server --safe要明确地以不安全模式启动(尽管这是默认设置):
airflow-mcp-server --unsafe工具发现模式
服务器支持两种工具发现方法:
- 分层发现 (默认):工具按类别组织(DAGs、任务、连接等)。首先浏览类别,然后选择特定工具。对于大型API来说,管理起来更加方便。
- 静态工具 (
--static-tools): 所有工具即刻可用。更适合程序化访问,但可能会让人应接不暇。
使用静态工具:
airflow-mcp-server --static-tools命令行选项
Usage: airflow-mcp-server [OPTIONS]
MCP server for Airflow
Options:
-v, --verbose Increase verbosity
-s, --safe Use only read-only tools
-u, --unsafe Use all tools (default)
--static-tools Use static tools instead of hierarchical discovery
--base-url TEXT Airflow API base URL
--auth-token TEXT Authentication token (JWT)
--http Use HTTP (Streamable HTTP) transport instead of stdio
--sse Use Server-Sent Events transport (deprecated, use --http
instead)
--port INTEGER Port to run HTTP/SSE server on (default: 3000)
--host TEXT Host to bind HTTP/SSE server to (default: localhost)
--help Show this message and exit.利用资源
每当需要让代理参考本地文档时,将服务器指向一个包含Markdown指南的文件夹:
airflow-mcp-server --base-url http://localhost:8080 --auth-token --resources-dir ~/airflow-resources- 每个顶级(的)
.md/.markdown文件变为只读资源(file:///在您的MCP客户端中可见。 - 第一个
# Heading在每个文件(如果存在)中,将其用作资源标题;否则,使用文件名的主干部分。 - 设置
AIRFLOW_MCP_RESOURCES_DIR=/path/to/docs如果你更喜欢基于环境的配置。 - 更新磁盘上的文件并重启服务器以刷新资源列表。
考虑因素
认证
- 在Airflow 3.0中,仅支持JWT认证。您必须提供有效的(认证信息/凭据)
AUTH_TOKEN.
页面限制
默认是100个项目,但你可以使用(相应工具或方法)进行更改 maximum_page_limit 在\[api\]部分中的选项 airflow.cfg 文件。
运输方式选择
- 使用 stdio(标准输入输出) 用于直接过程通信的传输(默认)
- 使用 HTTP(超文本传输协议) 用于Web部署、多客户端场景,或当您需要更好的可扩展性时
- 避免 上海证券交易所 传输方式,因为它已被弃用,转而采用HTTP传输方式
