Off-Nadir Delta

Call the MCP tools directly from Python

You are building an agent (or testing one) and want to exercise the MCP endpoint itself — initialize, list tools, call one — without a chat client in the way.

Steps

  1. Connect with McpClient (reads OFFNADIR_DELTA_API_KEY).
  2. List the served tools, then call query_signals with a bbox.

Python

This is the runnable example shipped with the SDK (pip install offnadir-delta, then set OFFNADIR_DELTA_API_KEY).

python
"""Call the MCP endpoint directly with a static API key."""

import json

from offnadir_delta import McpClient

AOI = [22.0, 44.0, 40.0, 53.0]


def main() -> None:
    with McpClient() as mcp:  # reads OFFNADIR_DELTA_API_KEY
        info = mcp.initialize()
        server = info.get("serverInfo", {})
        print(f"Connected to {server.get('name')} v{server.get('version')}")

        print("\nTools:", [t["name"] for t in mcp.list_tools()])

        result = mcp.call_tool("query_signals", {"bbox": AOI, "days": 7, "limit": 5})
        # Tool results are MCP content blocks; the payload is JSON text.
        for block in result.get("content", []):
            if block.get("type") == "text":
                print("\nquery_signals ->")
                print(json.dumps(json.loads(block["text"]), indent=2)[:800])

        brief = mcp.read_resource("brief://latest")
        print("\nbrief://latest keys:", list(brief.keys()))


if __name__ == "__main__":
    main()

MCP

Connect once, from any MCP client:

bash
claude mcp add --transport http off-nadir-delta \
  https://offnadir-delta.com/api/v1/mcp \
  --header "Authorization: Bearer ond_..."

The tools this workflow uses: query_signals. See the full roster at /docs/mcp.

Go deeper

← All recipes

From headline to satellite evidence

One connected intelligence workflow across four surfaces — free to start, no GIS software or remote-sensing background required.