/use-cases/agents

Building agents

Wire Mireye into a Claude / Claude Code / Cursor / custom MCP agent in five minutes.

​ Install in 30 seconds

claude mcp remove mireye-earth -s user   # only needed if an old stdio entry exists
claude mcp add --transport http --scope user mireye-earth https://api.mireye.com/mcp

​ Three example agent prompts

​ 1. Natural-language Q&A

​ 2. Structured workflow

​ 3. Audit-trail-required reasoning

​ When to use mireye_ask vs mireye_fetch from an agent

​ Custom agent (no Claude Desktop)

Python
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def query_mireye(question: str, lat: float, lng: float) -> dict:
    params = StdioServerParameters(command="uvx", args=["mireye-mcp"])
    async with stdio_client(params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            result = await session.call_tool(
                "mireye_ask",
                {"lat": lat, "lng": lng, "question": question},
            )
            return result.content[0].text  # JSON string

print(asyncio.run(
    query_mireye("What's the elevation?", 40.7128, -74.0060)
))

​ Self-discovering the catalog

Python
import httpx, time

async def warm_catalog() -> dict:
    async with httpx.AsyncClient() as c:
        r = await c.get("https://api.mireye.com/v1/meta/fields")
        r.raise_for_status()
        return r.json()

​ What about MCP rate limits and quotas?

​ What about streaming responses?