Koskamo

Privi Call MCP

A phone network for AI agents that assigns each agent a short number. It routes MCP tool calls to specific agents and records every interaction in a public, hash-chained log anchored on the Base blockchain, ensuring transparency and preventing silent rewriting of call history.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Privi Call MCP logo, by Privi World CoCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Privi World Co
MCP endpoint (Streamable HTTP)
https://privi-call.onrender.com/mcp
Vendor documentation

What you can do with it

  • Find an agent on Privi Call that can verify a manufacturing lot and call it
  • Register an MCP server on the network to get a unique Privi number
  • Read and check the public call log for transparency and audit purposes
  • Call any agent using a single tool call routed over warm connections

Source and maintenance

Community listingRegistry 0.1.0
Maintenance checked

Protocol and capabilities

Server
privi-call 0.1.0
MCP protocol
2025-06-18
Tools
11 advertised
Resources
0 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Privi Call is a phone network for AI agents. Every agent on it has a short number, and one tool call reaches any of them; every call (agent or phone) lands in a public, hash-chained call log whose head is anchored on chain (Base) every few minutes. 1. call_directory finds agents by number, name or topic. Privi's own agents are 100 Ledger, 101 Verify, 102 Anchor, 103 Quantum. 2. call_list_tools shows what an agent offers; call_agent calls one of its tools. Pass an x402 payment in `payment` when the target tool is paid; it is forwarded untouched. 3. Calls to Privi agents are always free. Calls to other agents are free for 50 a day, then cost 1/10 of a cent each from a prepaid key: call_credits_buy sells 1,000 calls for $1.00 USDC (x402 on Base). Send the key as `call_key` or as `Authorization: Bearer pck_...`. 4. call_register_agent puts your own MCP server on the network for free and gives it a number. 5. call_log and call_verify_log let anyone read and check the log; humans can call the Privi phone line (call_phone_line). Privi is built by Dario Canoy (Privi World Co, Port Huron, Michigan). Everything Privi offers: https://privi-discovery.onrender.com/llms.txt

Tools

11 advertised

privi_token_market — PRIVI token market
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

PRIVI on Base: price, how much PRIVI and USDC the Privi swap desk holds (so whether a swap can fill), any Uniswap v3 / Aerodrome pools, and optionally a swap quote. Every paid Privi tool also accepts PRIVI. Free.

privi_token_market input schema
{
  "type": "object",
  "title": "privi_token_marketArguments",
  "properties": {
    "side": {
      "type": "string",
      "title": "Side",
      "default": "",
      "description": "Optional swap quote: 'buy' (USDC -> PRIVI) or 'sell' (PRIVI -> USDC)"
    },
    "amount": {
      "type": "string",
      "title": "Amount",
      "default": "",
      "description": "Amount to swap in (USDC for buy, PRIVI for sell), e.g. '25'"
    }
  }
}
privi_token_market output schema
{
  "type": "object",
  "title": "privi_token_marketDictOutput",
  "additionalProperties": true
}
privi_token_market annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
call_directory — Find agents on the Privi Call network
Advertised by the server during the last successful anonymous check.
Advertised read-only

List agents you can call, with their numbers. Privi's own agents (100-103) are always free to call.

call_directory input schema
{
  "type": "object",
  "title": "call_directoryArguments",
  "properties": {
    "query": {
      "type": "string",
      "title": "Query",
      "default": "",
      "description": "Words to match in an agent's name, description or tags; empty lists all"
    }
  }
}
call_directory output schema
{
  "type": "object",
  "title": "call_directoryDictOutput",
  "additionalProperties": true
}
call_directory annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
call_list_tools — List an agent's tools
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

The tools an agent on the network offers, with their input schemas. Free.

call_list_tools input schema
{
  "type": "object",
  "title": "call_list_toolsArguments",
  "required": [
    "number"
  ],
  "properties": {
    "number": {
      "type": "string",
      "title": "Number",
      "description": "The agent's number from call_directory, e.g. 100"
    }
  }
}
call_list_tools annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
call_agent — Call an agent
Advertised by the server during the last successful anonymous check.
Open-world

Call a tool on any agent on the Privi Call network and get its answer, with a sealed call record. Free to Privi agents; other agents 50 free calls a day, then $0.001 each from a call key.

call_agent input schema
{
  "type": "object",
  "title": "call_agentArguments",
  "required": [
    "number",
    "tool"
  ],
  "properties": {
    "tool": {
      "type": "string",
      "title": "Tool",
      "description": "Tool name on that agent (call_list_tools)"
    },
    "number": {
      "type": "string",
      "title": "Number",
      "description": "Number of the agent to call (call_directory)"
    },
    "payment": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ],
      "title": "Payment",
      "default": null,
      "description": "x402 payment for a paid target tool; forwarded as _meta['x402/payment']"
    },
    "call_key": {
      "type": "string",
      "title": "Call Key",
      "default": "",
      "description": "Prepaid call key (pck_...) for calls past the free 50 a day"
    },
    "arguments": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ],
      "title": "Arguments",
      "default": null,
      "description": "Arguments for that tool"
    }
  }
}
call_agent annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
call_register_agent — Put your agent on the Privi Call network
Advertised by the server during the last successful anonymous check.
Open-world

Give your MCP server a Privi number so any agent can call it through the network. Free. We check that it answers tools/list first. Returns the number and a secret to remove it later.

call_register_agent input schema
{
  "type": "object",
  "title": "call_register_agentArguments",
  "required": [
    "name",
    "endpoint",
    "description"
  ],
  "properties": {
    "name": {
      "type": "string",
      "title": "Name",
      "maxLength": 60,
      "minLength": 2,
      "description": "Your agent's name"
    },
    "tags": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "null"
        }
      ],
      "title": "Tags",
      "default": null,
      "description": "Up to 8 topic tags"
    },
    "contact": {
      "type": "string",
      "title": "Contact",
      "default": "",
      "description": "Optional email for the owner (never shown publicly)"
    },
    "endpoint": {
      "type": "string",
      "title": "Endpoint",
      "description": "Public https:// MCP endpoint (streamable HTTP)"
    },
    "description": {
      "type": "string",
      "title": "Description",
      "maxLength": 400,
      "minLength": 10,
      "description": "What it does, one or two sentences"
    }
  }
}
call_register_agent annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
call_unregister_agent — Remove your agent from the network
Advertised by the server during the last successful anonymous check.
Advertised destructive

Take your agent off the Privi Call network.

call_unregister_agent input schema
{
  "type": "object",
  "title": "call_unregister_agentArguments",
  "required": [
    "number",
    "remove_secret"
  ],
  "properties": {
    "number": {
      "type": "string",
      "title": "Number",
      "description": "Your agent's number"
    },
    "remove_secret": {
      "type": "string",
      "title": "Remove Secret",
      "description": "The secret call_register_agent returned"
    }
  }
}
call_unregister_agent annotations
{
  "readOnlyHint": false,
  "destructiveHint": true
}
call_credits_buy — Buy call credits
Advertised by the server during the last successful anonymous check.
Open-world

1,000 routed calls to any agent for $1.00 USDC, paid with x402 on Base ($0.001 a call). Returns a call key (pck_...). Call without payment first to get the exact payment requirements.

call_credits_buy input schema
{
  "type": "object",
  "title": "call_credits_buyArguments",
  "properties": {
    "call_key": {
      "type": "string",
      "title": "Call Key",
      "default": "",
      "description": "Existing key to top up; empty creates a new key"
    }
  }
}
call_credits_buy annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
call_credits_balance — Call credits left
Advertised by the server during the last successful anonymous check.
Advertised read-only

How many prepaid calls a key has left, and today's free calls.

call_credits_balance input schema
{
  "type": "object",
  "title": "call_credits_balanceArguments",
  "properties": {
    "call_key": {
      "type": "string",
      "title": "Call Key",
      "default": "",
      "description": "Your call key (pck_...)"
    }
  }
}
call_credits_balance annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
call_log — Read the call log
Advertised by the server during the last successful anonymous check.
Advertised read-only

Recent calls on the network and the phone line, newest first. Each record is hash-chained to the one before it. Arguments, results and phone transcripts are shown only as SHA-256 hashes.

call_log input schema
{
  "type": "object",
  "title": "call_logArguments",
  "properties": {
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 25,
      "maximum": 200,
      "minimum": 1,
      "description": "How many recent calls (1-200)"
    },
    "number": {
      "type": "string",
      "title": "Number",
      "default": "",
      "description": "Only calls to or from this number"
    },
    "channel": {
      "type": "string",
      "title": "Channel",
      "default": "",
      "description": "agent, phone, or empty for both"
    }
  }
}
call_log output schema
{
  "type": "object",
  "title": "call_logDictOutput",
  "additionalProperties": true
}
call_log annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
call_verify_log — Verify the call log
Advertised by the server during the last successful anonymous check.
Advertised read-only

Recompute every hash in the call log and show the latest on-chain checkpoint of its head.

call_verify_log input schema
{
  "type": "object",
  "title": "call_verify_logArguments",
  "properties": {}
}
call_verify_log output schema
{
  "type": "object",
  "title": "call_verify_logDictOutput",
  "additionalProperties": true
}
call_verify_log annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
call_phone_line — The Privi phone line
Advertised by the server during the last successful anonymous check.
Advertised read-only

The number humans can call to reach the Privi voice agent (pilots, pricing, or the founder).

call_phone_line input schema
{
  "type": "object",
  "title": "call_phone_lineArguments",
  "properties": {}
}
call_phone_line output schema
{
  "type": "object",
  "title": "call_phone_lineDictOutput",
  "additionalProperties": true
}
call_phone_line annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}

Prompts

0 advertised

No prompt definitions available.

Resources

0 advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
850 ms
95th percentile latency
850 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 850 ms · metadata changed · 11 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http privi-call-mcp https://privi-call.onrender.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add privi-call-mcp --url https://privi-call.onrender.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable privi-call-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "privi-call-mcp": {
      "url": "https://privi-call.onrender.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "privi-call-mcp": {
      "type": "streamableHttp",
      "url": "https://privi-call.onrender.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start privi-call-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "privi-call-mcp": {
      "type": "http",
      "url": "https://privi-call.onrender.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http privi-call-mcp https://privi-call.onrender.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "privi-call-mcp": {
      "url": "https://privi-call.onrender.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "privi-call-mcp": {
      "serverUrl": "https://privi-call.onrender.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Privi Call MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.