Connect SeaWeb to your agent
One endpoint, every MCP client: https://api.seaweb.tech/mcp. Web search, page extract, and entity lookup for whatever chat or coding agent you already use. The entity corpus is deepest in Bay Area travel today: real hotel, attraction, and restaurant inventory, searchable (read-only). SeaWeb does not book or take payment.
Step 1 (everyone): sign in at seaweb.tech/signin and generate an API key (sw_…) from the dashboard. Keys are shown once and can be revoked anytime.
Step 2: pick your client below.
Claude (claude.ai / desktop app)
Claude's custom-connector form takes a URL only (no header field), so connect on the anonymous tier, which needs no key:
- Open Settings → Connectors → Add custom connector.
- Paste this as the server URL:
https://api.seaweb.tech/mcp
Add to Claude — opens the custom-connector dialog with the URL filled in (anonymous tier, no key in the link).
- Leave the OAuth fields under Advanced settings empty and click Add.
- Enable SeaWeb in the search-and-tools menu of a new chat, then ask for a hotel.
What the anonymous tier gives you: every read tool (search_web, search, get_entity, get_details and the rest) at 20 calls per 60 seconds. Writes (remember, …) need a key and are refused. Booking tools are retired. SeaWeb does not book or take payment.
Putting a key on it. Keyed access needs an Authorization: Bearer sw_… header (Claude Code, Cursor, VS Code, Windsurf; see below). The old path-key URL form was retired on 2026-07-30 (HTTP 400). Claude.ai custom connectors take a URL only, with no header field, so use the keyless anonymous tier here — keyed connector sign-in over OAuth is not live yet.
ChatGPT (developer mode)
ChatGPT loads custom MCP connectors behind developer mode:
- Enable developer mode: Settings → Apps & Connectors → Advanced → Developer mode (workspace admins: Permissions & Roles → Connected Data).
- Add a connector and give it the same URL, with authentication set to None:
https://api.seaweb.tech/mcp
ChatGPT cannot present a custom API key to an MCP server, so this is the anonymous tier: all read tools, 20 calls per 60 seconds, writes refused. Availability of developer-mode connectors varies by ChatGPT plan.
Claude Code
As a plugin (key stays in your shell env, updates tracked):
export SEAWEB_API_KEY=sw_your-key-here
claude plugin marketplace add aritroBh/seaweb-plugin
claude plugin install seaweb@seaweb
Or as a plain MCP server:
claude mcp add --transport http seaweb https://api.seaweb.tech/mcp \
--header "Authorization: Bearer sw_your-key-here"
On claude.ai the same marketplace works under Settings → Plugins → Browse → Add marketplace: https://github.com/aritroBh/seaweb-plugin.
Also in the official MCP registry as tech.seaweb/seaweb.
Cursor
Add to Cursor — one click installs the URL on the anonymous tier (the link carries no key; paste your Authorization header into mcp.json afterwards for keyed access).
~/.cursor/mcp.json (or .cursor/mcp.json in a project). Manual remote MCP only, not a Marketplace listing.
{
"mcpServers": {
"SeaWeb": {
"url": "https://api.seaweb.tech/mcp",
"headers": { "Authorization": "Bearer sw_your-key-here" }
}
}
}
Claude Desktop
Don't edit claude_desktop_config.json for this: that file is
local-command servers only, and remote url entries are not
supported there. Use a custom connector instead, exactly like claude.ai:
- Settings → Connectors → Add custom connector.
- Paste the URL (no key, no header needed):
https://api.seaweb.tech/mcp
Connectors sync with your claude.ai account, so if you added SeaWeb on the web it's already here. Like claude.ai, Claude Desktop takes a connector URL only, with no Authorization header field, so it runs on the keyless anonymous tier. For keyed access use Claude Code or another header-capable client.
OpenAI Codex CLI
~/.codex/config.toml: the key stays out of the file, Codex reads it from an env var.
[mcp_servers.seaweb]
url = "https://api.seaweb.tech/mcp"
bearer_token_env_var = "SEAWEB_API_KEY"
export SEAWEB_API_KEY=sw_your-key-here
OpenCode
opencode.json (project root or ~/.config/opencode/).
Set "oauth": false. OpenCode tries OAuth discovery on remote
servers before headers unless you turn it off:
{
"mcp": {
"seaweb": {
"type": "remote",
"url": "https://api.seaweb.tech/mcp",
"enabled": true,
"oauth": false,
"headers": { "Authorization": "Bearer sw_your-key-here" }
}
}
}
VS Code
.vscode/mcp.json:
{
"servers": {
"SeaWeb": {
"type": "http",
"url": "https://api.seaweb.tech/mcp",
"headers": { "Authorization": "Bearer sw_your-key-here" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"SeaWeb": {
"serverUrl": "https://api.seaweb.tech/mcp",
"headers": { "Authorization": "Bearer sw_your-key-here" }
}
}
}
After connecting
Ask your agent things like (each verified against production on 2026-07-28: real, non-empty matches today):
"Find a boutique hotel in SoMa San Francisco under $300"
"What events are happening at Chase Center?"
"Show details for Hotel Zetta San Francisco"
The agent calls read tools (search, get_entity, get_details, and the rest) against live, publisher-verified inventory; see the full tool reference. Booking tools (request_booking, check_availability, …) were retired 2026-08-04. Where a venue's own site takes reservations, results may carry that venue's reservation URL for the user to follow. Returning a link is search, not booking. An invented id returns entity not found instead of a card.
No config at all? The dashboard playground runs the same engine in your browser. Sign in and search.