mcp-server-splitmygear

mcp-server-splitmygear

Enables AI agents to interact with the SplitMyGear outdoor gear rental marketplace, providing tools for searching gear, checking availability, managing bookings, browsing experiences, and generating content.

Category
访问服务器

README

mcp-server-splitmygear

MCP (Model Context Protocol) server for SplitMyGear — an outdoor gear rental marketplace. Lets AI agents (Claude, Cursor, Windsurf, etc.) search gear, check availability, manage bookings, browse experiences, and more.

18 tools across search, booking, pricing, content generation, experiences, and messaging.

Independent project — not affiliated with any third party.


Quick Start

Claude Desktop

Authentication is required. Every request must present either an API key (x-api-key) or a user JWT (Authorization: Bearer …). There is no public tier — the server wields privileged credentials, so unauthenticated requests are rejected with 401.

Add to your claude_desktop_config.json (API key required):

{
  "mcpServers": {
    "splitmygear": {
      "url": "https://mcp-server-splitmygear.vercel.app/api/mcp",
      "headers": {
        "x-api-key": "your-splitmygear-api-key"
      }
    }
  }
}

Cursor / Windsurf / mcp.json

{
  "mcpServers": {
    "splitmygear": {
      "url": "https://mcp-server-splitmygear.vercel.app/api/mcp",
      "headers": {
        "x-api-key": "your-splitmygear-api-key"
      }
    }
  }
}

Claude Desktop Extension (DXT)

Install manifest.json through Claude Desktop's Extension Manager (Claude Desktop v0.10.0+). The UI exposes the required API key field.

HTTP (direct)

curl -X POST https://mcp-server-splitmygear.vercel.app/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "search_listings",
      "arguments": { "query": "tent for a family camping trip this weekend" }
    }
  }'

Authentication

All access requires authentication — the server holds privileged platform credentials, so there is no public/anonymous tier. Present either:

  • an operator API key via the x-api-key header (unlocks read/search, pricing, and content tools), or
  • a user JWT via Authorization: Bearer <token> (additionally unlocks user-scoped tools — booking, messaging, personalized recommendations — which act as the authenticated user; they never accept a caller-supplied user id).

Unauthenticated requests are rejected with 401. The two tiers below mean "works with an API key" (Auth) vs "requires a user JWT" (User).


Available Tools (18)

Search & Listings

Tool Auth Description
search_listings Auth Search gear by filters or natural language
get_listing_details Auth Full details for a listing
check_availability Auth Check if a listing is available for dates
get_similar_listings Auth Semantically similar gear
get_personalized_recommendations User Recommendations based on booking history

Bookings

Tool Auth Description
create_booking User Create a rental booking (Stripe payment)
cancel_booking User Cancel a booking with optional refund
get_booking_status User Status of YOUR booking (owner-checked)

Pricing & Business Intelligence

Tool Auth Description
suggest_listing_price Auth AI-powered price suggestion for a gear category
analyze_competitor_pricing Auth Compare a listing against local competitors

Content Generation

Tool Auth Description
generate_listing_description Auth AI description from name + keywords
improve_listing_title Auth SEO-optimized title suggestions

Experiences

Tool Auth Description
search_experiences Auth Browse outdoor adventures and tours
get_experience_details Auth Full info and available schedules
book_experience User Book spots on a scheduled experience

Messaging

Tool Auth Description
send_message User Send a message to a renter or vendor
get_conversations User List your active conversations
generate_ai_message_draft Auth AI-drafted professional message

Natural Language Search

The search_listings query parameter accepts plain English. The server parses it into structured filters automatically:

"lightweight tent for solo backpacking next weekend under $40/day"
"water sports gear for 3 people in Seattle"
"climbing harness and helmet for a beginner"

Resources

Resource URI Description
splitmygear://categories List of all 8 gear categories

Running Locally

Prerequisites

  • Node.js 18+
  • An operator MCP_API_KEY (and, for user-scoped tools, a backend JWT)
  • Access to the SplitMyGear backend REST API (defaults to production; override with BACKEND_API_URL)
  • (optional) An AI provider key (OpenCode Zen / OpenRouter / OpenAI) for the two content tools and the AI message draft

This server holds no Supabase or Stripe credentials — every action goes through the backend REST API, which is the single authority for auth, data, pricing and payments (SPLIT-226).

Setup

git clone https://github.com/SplitMyGear/mcp-server-splitmygear
cd mcp-server-splitmygear
npm install
cp .env.example .env.local
# Fill in your env vars
npm run dev

Your local server will be at http://localhost:3000/api/mcp.

Environment Variables

MCP_API_KEY=               # REQUIRED — operator key clients send via x-api-key
BACKEND_API_URL=           # optional — defaults to the production backend /api/v1
MCP_BACKEND_JWT_SECRET=    # optional — verify forwarded JWT signatures locally (defense in depth)
# AI provider for the content/draft tools (first key present wins): OPENCODE → OPENROUTER → OPENAI
OPENCODE_API_KEY=          # https://opencode.ai/zen — free tier
OPENROUTER_API_KEY=        # https://openrouter.ai — free tier
AI_CHAT_MODEL=             # optional override
AI_EMBEDDING_MODEL=        # optional override
MCP_RATE_LIMIT_TIER=public # internal | beta | public | default

Without MCP_API_KEY the server fails closed (every request 401s). Without an AI provider key the three AI content tools degrade gracefully (they return a "disabled" notice); every other tool is unaffected.

Tests

npm test

Deployment (Vercel)

This server is optimized for Vercel Serverless Functions. Push to the connected GitHub repo to trigger a deploy:

git push origin main

Rate Limits

Tier Requests/min Tool calls/min
public 20 200
beta 50 500
internal 100 1000

Set MCP_RATE_LIMIT_TIER in your environment to control the limit.


License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选