> ## Documentation Index
> Fetch the complete documentation index at: https://docs.footstep.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Set up the Footstep MCP server with your client

Connect to the hosted server at `mcp.footstep.ai`. No installation, no Node.js required.

## Claude Desktop

Add to your `claude_desktop_config.json` (Settings > Developer > Edit Config):

```json theme={null}
{
  "mcpServers": {
    "footstep": {
      "url": "https://mcp.footstep.ai",
      "headers": {
        "x-api-key": "sk_live_your_key_here"
      }
    }
  }
}
```

## Cursor / Claude Code / Cline

Add to your project's `.mcp.json` (or the equivalent MCP config for your client):

```json theme={null}
{
  "mcpServers": {
    "footstep": {
      "url": "https://mcp.footstep.ai",
      "headers": {
        "x-api-key": "sk_live_your_key_here"
      }
    }
  }
}
```

## OpenAI Agents SDK

```python theme={null}
from agents import Agent
from agents.mcp import MCPServerStreamableHttp

footstep = MCPServerStreamableHttp(
    url="https://mcp.footstep.ai",
    headers={"x-api-key": "sk_live_your_key_here"},
)

agent = Agent(
    name="travel-agent",
    instructions="You help plan routes and find locations.",
    mcp_servers=[footstep],
)
```

## Google Gemini (via LangChain)

```python theme={null}
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain_google_genai import ChatGoogleGenerativeAI
from langgraph.prebuilt import create_react_agent

client = MultiServerMCPClient({
    "footstep": {
        "url": "https://mcp.footstep.ai",
        "headers": {"x-api-key": "sk_live_your_key_here"},
        "transport": "streamable_http",
    }
})

tools = await client.get_tools()
model = ChatGoogleGenerativeAI(model="gemini-2.0-flash")
agent = create_react_agent(model, tools)
```

## Vercel AI SDK

```typescript theme={null}
import { experimental_createMCPClient as createMCPClient } from "ai";

const client = await createMCPClient({
  transport: {
    type: "http",
    url: "https://mcp.footstep.ai",
    headers: { "x-api-key": "sk_live_your_key_here" },
  },
});

const tools = await client.tools();
// Pass tools to any model: OpenAI, Anthropic, Google, etc.
```

## Custom agents

Any MCP client that supports Streamable HTTP transport can connect. Point it at `https://mcp.footstep.ai` and pass your API key in the `x-api-key` header.

<Note>
  The MCP server also accepts the standard `Authorization: Bearer <key>` form, so MCP SDKs that default to Bearer authentication work without configuration changes. `x-api-key` remains the recommended header.
</Note>

## Reading responses

Tool results are returned in the MCP `structuredContent` field as parsed JSON — no `JSON.parse` step required. See [response shape](/mcp/response-shape) for the full envelope and the [error code reference](/mcp/response-shape#error-codes).

## Tuning what you get back

Every renderer-aware tool defaults to **rich responses** — geometry, render-ready GeoJSON layers, and full result sets are all included. Token-conscious LLM agents pass `compact: true` to suppress geometry and render envelopes; renderer-aware clients keep the defaults. See [response defaults & controls](/mcp/defaults).
