Skip to content

feat: MCP server for AI-powered trip management#242

Open
candogruyol wants to merge 1 commit into
itskovacs:mainfrom
candogruyol:feat/mcp-server-upstream
Open

feat: MCP server for AI-powered trip management#242
candogruyol wants to merge 1 commit into
itskovacs:mainfrom
candogruyol:feat/mcp-server-upstream

Conversation

@candogruyol
Copy link
Copy Markdown

MCP (Model Context Protocol) server that exposes TRIP's API as AI tools. Lets Claude, OpenClaw, and other AI assistants create and manage trips via natural language.

22 Tools

  • Trips: create, list, get, update, delete, link_places
  • Days: add, update, delete
  • Items: add, update, delete
  • Places: create, list, update, delete
  • Categories: list, create
  • Packing: add_packing_item
  • Checklist: add_checklist_item
  • Sharing: share_trip, invite_member

Stack

  • FastMCP + SSE transport
  • JWT auth with token caching (httpx)
  • Docker deployment

Usage

# Environment
TRIP_API_URL=http://localhost:8080
TRIP_USERNAME=your_user
TRIP_PASSWORD=your_pass

# Run
docker compose up -d

Claude Code config:

{"mcpServers": {"trip": {"type": "sse", "url": "http://localhost:3001/sse"}}}

Then ask Claude: "Create a 3-day trip to Porto" and it calls the tools automatically.

Files

  • mcp-server/server.py — 22 tool definitions
  • mcp-server/auth.py — JWT login + token cache
  • mcp-server/Dockerfile — containerized
  • mcp-server/README.md — setup guide

No changes to existing TRIP code. Only adds the mcp-server/ directory.

MCP (Model Context Protocol) server exposing TRIP's API as AI tools.
22 tools covering trips, days, items, places, categories, packing,
checklist, and sharing.

Built with FastMCP + SSE transport. Deploy with Docker alongside TRIP.
AI assistants (Claude, OpenClaw, etc.) can create and manage trips
via natural language.

- mcp-server/server.py: 22 tool definitions
- mcp-server/auth.py: JWT login with token caching
- mcp-server/Dockerfile: containerized deployment
- mcp-server/README.md: setup and connection guide
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant