{
  "name": "Perception",
  "description": "Narrative intelligence for the digital asset industry. Search media coverage across thousands of curated media sources, alongside podcasts, company disclosures, regulatory filings, earnings calls, and public conversations through MCP.",
  "protocolVersion": "2025-06-18",
  "serverVersion": "1.6.1",
  "categories": [
    "finance",
    "research",
    "data",
    "intelligence"
  ],
  "ui": {
    "widgets": [
      {
        "tool": "perception_get_index",
        "template": "ui://widget/perception-index.html"
      },
      {
        "tool": "perception_search_companies",
        "template": "ui://widget/company-sentiment.html"
      },
      {
        "tool": "perception_narrative_momentum",
        "template": "ui://widget/narrative-momentum.html"
      }
    ]
  },
  "server": {
    "url": "https://mcp.perception.to/mcp",
    "transport": "streamable-http",
    "auth": {
      "type": "oauth2",
      "authorization_url": "https://mcp.perception.to/authorize",
      "token_url": "https://mcp.perception.to/token",
      "registration_url": "https://mcp.perception.to/register",
      "scopes": []
    }
  },
  "replay_protection": {
    "automatic": {
      "scope": "authenticated user + JSON-RPC id + canonical request body",
      "window_seconds": 120,
      "behavior": "Exact redelivery reuses the original funding outcome and settlement identity."
    },
    "explicit": {
      "headers": [
        "Idempotency-Key",
        "X-Request-Id"
      ],
      "key_format": "one unique opaque 8-128 character safe ASCII value per new call",
      "window_seconds": 86400,
      "static_connector_header_supported": false,
      "behavior": "Reuse the same header value only for the exact same JSON-RPC body."
    }
  },
  "commercial_model": {
    "schema_version": 2,
    "version": "2026-09-05-flat-included-v2",
    "signup_url": "https://app.perception.to/auth/sign-up?source=pricing-metered&plan=metered",
    "access": [
      {
        "id": "free",
        "subscription_required": false,
        "tool_count": 31,
        "included_calls": 5,
        "call_window": "daily",
        "call_accounting": "flat-one-per-accepted-request"
      },
      {
        "id": "metered",
        "subscription_required": false,
        "tool_count": 31,
        "credit_accounting": "weighted",
        "credit_packs": [
          {
            "credits": 10,
            "price_usd": 19
          },
          {
            "credits": 25,
            "price_usd": 39
          },
          {
            "credits": 60,
            "price_usd": 79
          }
        ]
      },
      {
        "id": "perception",
        "monthly_price_usd": 249,
        "tool_count": 31,
        "included_credits": 20,
        "credit_window": "daily",
        "credit_accounting": "flat-one-per-call",
        "call_accounting": "flat-one-per-accepted-request"
      },
      {
        "id": "intelligence",
        "monthly_price_usd": 499,
        "tool_count": 31,
        "included_credits": 100,
        "credit_window": "daily",
        "credit_accounting": "flat-one-per-call",
        "call_accounting": "flat-one-per-accepted-request"
      }
    ],
    "settlement": {
      "included_requests": "consume allowance when accepted for execution",
      "prepaid_successful_calls": "commit reserved credits",
      "prepaid_failed_calls": "release reserved credits",
      "bundle_order": "included capacity before prepaid wallet"
    }
  },
  "payments": [
    {
      "protocol": "x402",
      "description": "Pay per call for full-text REST feed data on Base mainnet. MCP access uses the separate OAuth/Bearer endpoint.",
      "endpoint": "https://api.perception.to/feed",
      "method": "GET",
      "scope": "full-text REST feed only",
      "x402_version": 1,
      "network": "base",
      "network_name": "Base mainnet",
      "asset": "USDC",
      "asset_contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "pay_to": "0xA89dac7b70e04c880974b02758Bd8fde14280013",
      "max_amount_required": "50000",
      "max_timeout_seconds": 120,
      "price": "$0.05",
      "spec": "https://www.x402.org"
    }
  ],
  "unavailable_payments": [
    {
      "protocol": "l402",
      "status": "unavailable",
      "description": "This Lightning payment rail remains inactive while invoice creation is under repair."
    }
  ],
  "tools": [
    {
      "name": "perception_get_market",
      "description": "Bitcoin price, market cap, chain reference metrics and the Perception Index.",
      "tier": "free"
    },
    {
      "name": "perception_guide",
      "description": "In-agent onboarding and workflow templates.",
      "tier": "free"
    },
    {
      "name": "perception_get_subject_taxonomy",
      "description": "Canonical subject labels and accepted aliases for precise query construction.",
      "tier": "free"
    },
    {
      "name": "perception_daily_radar",
      "description": "Daily briefing: anomalies, sentiment shifts, emerging narratives.",
      "tier": "free"
    },
    {
      "name": "perception_get_index",
      "description": "The five-index Perception portfolio with current readings, confidence, components and optional history.",
      "tier": "free"
    },
    {
      "name": "perception_search_mentions",
      "description": "Search thousands of sources with sentiment, outlet, language and region filters.",
      "tier": "free"
    },
    {
      "name": "perception_get_trends",
      "description": "AI-extracted narrative trends with signal strength.",
      "tier": "free"
    },
    {
      "name": "perception_get_sentiment",
      "description": "Historical sentiment by day and by outlet.",
      "tier": "free"
    },
    {
      "name": "perception_get_categories",
      "description": "Trend category distribution.",
      "tier": "free"
    },
    {
      "name": "perception_search_companies",
      "description": "Entity-recognition company search, more accurate than keyword matching.",
      "tier": "free"
    },
    {
      "name": "perception_compare_entities",
      "description": "Two to five companies side by side: volume, sentiment, sources.",
      "tier": "free"
    },
    {
      "name": "perception_narrative_momentum",
      "description": "Whether a topic is accelerating, steady or fading.",
      "tier": "free"
    },
    {
      "name": "perception_top_mentions",
      "description": "Top entities or topics by mention count for a date range or outlet.",
      "tier": "free"
    },
    {
      "name": "perception_cohort_sentiment",
      "description": "Sentiment split by speaker role: execs, devs, analysts, media.",
      "tier": "free"
    },
    {
      "name": "perception_get_evadometer",
      "description": "Earnings-call directness scores.",
      "tier": "free"
    },
    {
      "name": "perception_get_entity_profile",
      "description": "Full entity picture: coverage, analyst view, trends, relationships, timeline.",
      "tier": "free"
    },
    {
      "name": "perception_media_radar",
      "description": "Outlet-specific coverage analysis.",
      "tier": "free"
    },
    {
      "name": "perception_get_analyst_ratings",
      "description": "Analyst consensus, price targets and rating changes for covered tickers.",
      "tier": "free"
    },
    {
      "name": "perception_search_regulatory",
      "description": "Regulatory filings, enforcement actions and policy documents by agency and jurisdiction.",
      "tier": "free"
    },
    {
      "name": "perception_get_article",
      "description": "Full text of a single article.",
      "tier": "free"
    },
    {
      "name": "perception_save_research",
      "description": "Save a research note with findings and topics (90-day retention).",
      "tier": "free"
    },
    {
      "name": "perception_recall_research",
      "description": "Retrieve saved research notes by recency or topic.",
      "tier": "free"
    },
    {
      "name": "perception_scenario_analysis",
      "description": "Test a hypothetical against historical analogues: sentiment arcs, narrative half-life.",
      "tier": "free"
    },
    {
      "name": "perception_get_insider_activity",
      "description": "SEC Form 4 insider trades with cluster alerts.",
      "tier": "free"
    },
    {
      "name": "perception_get_earnings_intelligence",
      "description": "Earnings-call analysis: management tone, directness, notable quotes.",
      "tier": "free"
    },
    {
      "name": "perception_get_intelligence_digest",
      "description": "Cross-signal briefing fusing analyst actions, sentiment, earnings and regulatory moves.",
      "tier": "free"
    },
    {
      "name": "perception_search_voices",
      "description": "Search reporters and commentators by beat, outlet and coverage pattern.",
      "tier": "free"
    },
    {
      "name": "perception_get_brains_corpus",
      "description": "Bulk corpus access for a tracked voice or entity.",
      "tier": "free"
    },
    {
      "name": "perception_get_divergences",
      "description": "Where narrative and capital disagree.",
      "tier": "free"
    },
    {
      "name": "perception_get_capital_exposure",
      "description": "13F holdings, treasury positions and beneficial ownership for an entity.",
      "tier": "free"
    },
    {
      "name": "perception_get_hiring",
      "description": "Open roles and hiring posture for a company from its public ATS board.",
      "tier": "free"
    },
    {
      "name": "perception_hiring_leaderboard",
      "description": "Companies ranked by open roles across the tracked universe, by sector and function.",
      "tier": "free"
    }
  ],
  "supported_clients": [
    "Claude Desktop",
    "Claude Code",
    "ChatGPT",
    "Gemini",
    "VS Code (Copilot Chat)",
    "Cursor",
    "Windsurf"
  ],
  "guide_modes": {
    "discover": "Jobs, three usage levels, and full tool reference",
    "research": "Multi-step interactive research plan",
    "agent_workflow": "Recurring system specification for Codex or Claude Code",
    "workflow": "Backward-compatible alias for research"
  },
  "agent_workflows": [
    {
      "id": "reputation-manager",
      "version": "1.0.0",
      "name": "Reputation Manager",
      "summary": "Tracks harmful coverage, competitor wins, narrative spread, and the attention level that needs a response.",
      "estimated_calls_per_run": 4,
      "supported_clients": [
        "codex",
        "claude-code"
      ],
      "delivery_channels": [
        "codex",
        "slack",
        "email"
      ],
      "recommended_interval_minutes": 360,
      "setup_url": "https://app.perception.to/app/agent-workflows?workflow=reputation-manager"
    },
    {
      "id": "partnership-scout",
      "version": "1.0.0",
      "name": "Partnership Scout",
      "summary": "Finds companies showing a current partnership signal and turns repeated coverage into one qualified opportunity.",
      "estimated_calls_per_run": 5,
      "supported_clients": [
        "codex",
        "claude-code"
      ],
      "delivery_channels": [
        "codex",
        "slack",
        "email"
      ],
      "recommended_interval_minutes": 1440,
      "setup_url": "https://app.perception.to/app/agent-workflows?workflow=partnership-scout"
    },
    {
      "id": "weekly-executive-brief",
      "version": "1.0.0",
      "name": "Weekly Executive Brief",
      "summary": "Delivers a fixed-format weekly briefing with market, company, risk, regulatory, and evidence sections.",
      "estimated_calls_per_run": 7,
      "supported_clients": [
        "codex",
        "claude-code"
      ],
      "delivery_channels": [
        "codex",
        "slack",
        "email"
      ],
      "recommended_interval_minutes": 10080,
      "setup_url": "https://app.perception.to/app/agent-workflows?workflow=weekly-executive-brief"
    }
  ],
  "pricing": "https://perception.to/pricing",
  "documentation": "https://perception.to/docs",
  "api_documentation": "https://perception.to/api",
  "icon": "https://perception.to/logos/perception-logo-dark.png",
  "provider": {
    "name": "Perception",
    "url": "https://perception.to",
    "contact": "hello@perception.to"
  },
  "tool_count": 32,
  "commercial_tool_count": 31,
  "unmetered_tools": [
    "perception_get_subject_taxonomy"
  ],
  "acquisition": {
    "public_trial": false,
    "free_mcp_calls_per_day": 5
  }
}
