Token导航 LogoToken导航

MCP Server · 安全风控

Agentic MCP Itinerary

一个基于LLM代理(Gemini Flash + LangGraph)的MCP服务器,用于创建和管理旅行行程,包括航班、酒店和活动安排。

stdio官方级别未说明来源级核验工具 5
旅行规划PythonClaudeLLM代理Claude Desktop

快速开始

作者 / 组织
AlexGHerrera
提供方
AlexGHerrera

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

2 个

MCP World

选型结论

Agentic MCP Itinerary 属于安全风控类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 OAuth 授权。

分类

安全风控

传输方式

stdio

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

安装命令

pip install -e ".[dev]"

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

代理MCP行程——PoC

一个MCP服务器,内部运行一个LLM代理(Gemini Flash+Langgraph),并协调多个MCP服务器下游。客户端(Claude Desktop,ChatGPT)看到一个干净的界面,在迭代之间保持状态。

概念

Claude Desktop / ChatGPT
        │
        │  MCP (HTTP/SSE + OAuth 2.1)
        ▼
┌─────────────────────────────────────┐
│         travel-agent (este repo)    │
│  FastMCP server + LangGraph agent   │
│                                     │
│  ┌──────┐  ┌────────┐  ┌──────────┐│
│  │Vuelos│  │Hoteles │  │Actividad.││  ← MCP mocks STDIO
│  └──────┘  └────────┘  └──────────┘│
└─────────────────────────────────────┘

为什么这是不同的? 目前还没有公司提供“封装为MCP服务器的垂直代理”。这个POC展示了这种模式:客户只看到4-5个干净的工具,但背后有一个具有内存、并行扇出和持久状态的代理。

______________________________________________________________________

堆栈

组件技术
暴露的MCP服务器FastMCP 3.1.1(streamable-http)
内部代理LangGraph (StateGraph +平行扇出)。
LLM型号双子座闪光灯(gemini-2.0-flash)
AuthOAuth 2.1授权码流+JWT HS256
检查点MemorySaver (在内存中,足以进行POC)
MCP下游MCP SDK官方(mcp.client.stdio)
MOCKS3 FASTMCP服务器STDIO(航班、酒店、活动)
部署铁路(RAILPACK+pyproject.toml)

______________________________________________________________________

公开工具(公共API)

工具参数描述
create_itineraryrequirements: str创建完整的草稿(航班+酒店+平行活动)
refine_itineraryitinerary_id: str, change_request: str完善现有草案
get_itineraryitinerary_id: str恢复当前状态
list_itineraries-列出所有活动行程
confirm_itineraryitinerary_id: str确认并生成 confirmation_code

______________________________________________________________________

部署铁路

网址

  • 健康: https://travel-agent-production-c1c4.up.railway.app/health
  • MCP端点: https://travel-agent-production-c1c4.up.railway.app/mcp
  • OAuth元数据: https://travel-agent-production-c1c4.up.railway.app/.well-known/oauth-authorization-server
  • 登录表格: https://travel-agent-production-c1c4.up.railway.app/oauth/authorize

ID铁路

  • 项目: e50da57f-ee0b-47a3-81a3-55556fe6de0d
  • 服务: 09065312-ac84-4876-b9c9-dd5d6439f1d4
  • 环境: 09b3f0c9-e5ad-4f61-b351-275bbcffd5ad

所需环境变量

变量描述
GEMINI_API_KEYAPI密钥de Google Gemini
MCP_USERNAMEOAUTH登录用户
MCP_PASSWORDOAuth登录密码
MCP_JWT_SECRET签名的秘密 secrets.token_urlsafe(32))
MCP_BASE_URL服务器的公共URL(用于构建重定向URI)

______________________________________________________________________

Auth:Auth2.1授权码流

全流程

1. Claude Desktop detecta el MCP server
2. Descubre /.well-known/oauth-authorization-server
3. Redirige al usuario a /authorize
4. El servidor redirige a /oauth/authorize (form de login HTML)
5. Usuario introduce user/pass → POST /oauth/authorize
6. Servidor valida credenciales (MCP_USERNAME / MCP_PASSWORD)
7. Emite auth code → redirect a Claude Desktop
8. Claude Desktop intercambia code → JWT en /token
9. JWT usado como Bearer en todas las llamadas MCP

实施

  • server/auth.py: SimpleOAuthProvider (延伸) OAuthProvider FastMCP)
  • JWT HS256,1H有效
  • 身份验证代码:5分钟验证
  • PKCE (S256) 支持
  • /health 未经授权公开

______________________________________________________________________

配置器Claude桌面

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "travel-agent": {
      "type": "http",
      "url": "https://travel-agent-production-c1c4.up.railway.app/mcp"
    }
  }
}
罪 headers -Claude Desktop自动管理OAuth流。第一次,它将打开浏览器进行登录。

______________________________________________________________________

地方发展

要求

pip install -e ".[dev]"

启动服务器

PYTHONPATH=server MCP_USERNAME=alexguerra MCP_PASSWORD=tu_pass \
  MCP_JWT_SECRET=dev_secret python3 server/main.py

冒烟测试

PYTHONPATH=server python3 tests/smoke_test.py

检查语法

PYTHONPATH=server python3 -m py_compile server/main.py server/auth.py server/agent.py

______________________________________________________________________

项目结构

agentic-mcp-itinerary/
├── server/
│   ├── main.py          # FastMCP server (4 tools + OAuth + /health)
│   ├── auth.py          # SimpleOAuthProvider (OAuth 2.1 + JWT)
│   ├── agent.py         # LangGraph graph con fan-out paralelo
│   ├── state.py         # ItineraryState TypedDict + checkpointer
│   └── tools/
│       ├── flights.py   # Cliente MCP → mock vuelos
│       ├── hotels.py    # Cliente MCP → mock hoteles
│       └── activities.py # Cliente MCP → mock actividades
├── mocks/
│   ├── flights_mcp.py   # Mock server vuelos (FastMCP STDIO)
│   ├── hotels_mcp.py    # Mock server hoteles (FastMCP STDIO)
│   └── activities_mcp.py # Mock server actividades (FastMCP STDIO)
├── tests/
│   └── smoke_test.py    # Test end-to-end básico
├── docs/
│   └── OAUTH_PLAN.md    # Spec del OAuth (referencia de diseño)
├── pyproject.toml       # Deps para RAILPACK
├── railway.toml         # Builder=RAILPACK, startCommand
└── claude_desktop_config.json  # Config para Claude Desktop (sin Bearer manual)

______________________________________________________________________

关键决策历史

决定排除的替代方案原因
railpack+pyproject.tomlnixpacksnixpacks在env不变的情况下在pip中失败
OAuth 2.1授权代码静态承载器令牌Claude Desktop管理本地OAuth;更多生产-准备就绪
内存中的JWT HS256令牌DBPOC-重启之间没有持久状态
FastMCP 3.1.1 OAuthProviderAuth Manual with StarletteFastMCP将Flow与Transport MCP集成
MemorySaverSQLite/Redis适用于本地 PoC;轻松迁移到SqliteSaver。
双子座闪光克劳德俳句法典与人类有证书冲突

______________________________________________________________________

下一步(POC后)

  • \[ \] 克劳德桌面测试 检查完整的 OAuth 流程
  • \[ \] 实际持久性 — SqliteSaver 或在重新启动之间状态的postgres
  • \[ \] 下游MCP现实 -用真正的API(Amadeus、Booking等)替换Mocks
  • \[ \] 多用户 -用户数据库而不是env vars
  • \[ \] 速率限制 -通过令牌JWT
  • \[ \] 遥测 -Langsmith或类似的内部追踪剂

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

旅行规划Python本地部署LLM代理MCP服务器行程管理OAuth认证

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

资产与漏洞排查

批量查询资产和漏洞信息,输出待修清单。

日志审计

从日志里筛出异常访问和高风险操作。

合规检查

按规则核对配置项,记录不符合项。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在安全风控场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到OAuth 授权的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Agentic MCP Itinerary

MCP World · 本页

5stdio有2 个2026-05-17
Modelcontextprotocol C22988b0

MCP World

0stdio有1 个2026-05-17
Hexstrike AI

MCP World

0stdio有1 个2026-05-17
Cyber Strike AI

MCP World

75未说明未标注1 个2026-05-17
MCP Scan

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Agentic MCP Itinerary 怎么安装?

公开资料给出的安装命令是 pip install -e ".[dev]",运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Agentic MCP Itinerary 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Agentic MCP Itinerary 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Agentic MCP Itinerary 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Agentic MCP Itinerary 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP