Back to Browse

Surface MCP Server

Developer ToolsLow Risk10.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

Preflight a short or unknown URL before your agent fetches it. Returns next: fetch or skip.

About

Preflight a short or unknown URL before your agent fetches it. Returns next: fetch or skip.

Remote endpoints: streamable-http: https://nova-otter-delta-cloud.grok.me/mcp

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 0 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.

1 tool verified · Open access · No issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Found in Source Code

Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "me-grok-nova-otter-delta-cloud-surface": {
      "url": "https://nova-otter-delta-cloud.grok.me/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Surface — preflight a URL before your agent opens it

AllMCPs Verified

Surface is a remote MCP server and HTTP API. It unwraps short or unknown links (t.co, bit.ly, lnkd.in, youtu.be) and tells your agent whether to open them: next: "fetch" or next: "skip". It never returns the page body.

This repo contains:

PathWhat it is
src/client.jsZero-dependency JS client: REST preflight(), remote-MCP mcpPreflight(), and a minimal Streamable-HTTP McpHttpClient
src/stdio-server.js + bin/surface-mcp.jsLocal stdio MCP server exposing preflight_url, which forwards to the remote endpoint (for clients that only run commands)
bin/surface-preflight.jsCLI: surface-preflight <url> prints fetch/skip (exit 0 = fetch, 2 = skip)
examples/Python (stdlib only) and Node examples, plus client configs
test/Offline tests against a local mock. They never hit the live meter.
mcp-server.json, server-card.json, .well-known/mcp/server-card.json, smithery.yamlRegistry and discovery metadata

Quick start (remote, no install)

Claude Code

claude mcp add --transport http surface https://nova-otter-delta-cloud.grok.me/mcp

Cursor (.cursor/mcp.json)

{ "mcpServers": { "surface": { "url": "https://nova-otter-delta-cloud.grok.me/mcp" } } }

See examples/mcp-clients.md for VS Code, Codex and Claude Desktop.

Run locally (stdio bridge)

Requires Node.js 18 or later. No dependencies.

git clone https://github.com/Surface-ops/surface && cd surface
npm test                       # offline tests
node bin/surface-mcp.js        # stdio MCP server (JSON-RPC on stdin/stdout)
node bin/surface-preflight.js https://bit.ly/example --json

Or without cloning:

{ "mcpServers": { "surface": { "command": "npx", "args": ["-y", "github:Surface-ops/surface"] } } }

Environment:

  • SURFACE_API_KEY: optional. This is a surf_live_… key (the public demo key uses surf_demo_…), sent as Authorization: Bearer …. Without a key, calls bill the shared demo meter.
  • SURFACE_BASE_URL: optional. It defaults to https://nova-otter-delta-cloud.grok.me.

Use as a library

import { preflight, mcpPreflight, shouldFetch } from "surface-mcp"; // or "./src/client.js"

const v = await preflight("https://bit.ly/example");
if (shouldFetch(v)) await fetch(v.final_url);

Raw HTTP (30 seconds)

# REST
curl -s "https://nova-otter-delta-cloud.grok.me/v1/preflight?url=https://bit.ly/example"

# MCP
curl -s https://nova-otter-delta-cloud.grok.me/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"preflight_url","arguments":{"url":"https://bit.ly/example"}}}'

Python tip: send a normal User-Agent header (for example User-Agent: my-agent/1.0). Python's built-in urllib default agent can be blocked at the edge; requests, httpx and curl work as-is.

Response fields: next (fetch | skip), verdict (fetch | dead | wall | trap), unwrapped, from_host, final_host, final_url. Private hosts and odd ports are refused.

Pricing

Free: the first 1,000,000 requests every month. No card needed.

After that, Surface charges per call, in USD per 1,000 calls: Preflight $0.25 (REST or MCP tools/call), Hop $0.40, Pixel $0.15, Inspect $0.20. POST /v1/event is ingest and is not billed. A flat $50 CAD/month plan is also available (see /billing). initialize and tools/list are not tool calls. Details: https://nova-otter-delta-cloud.grok.me/docs.

Directory listings

Operator, privacy, license

Reviews

No reviews yet

Be the first to review this server!