{"openapi":"3.1.0","info":{"title":"Academica SEC Ownership & Flows API","description":"Evidence retrieval and synthesis tools for Academica SEC Ownership & Flows.","version":"1.0.0","contact":{"name":"Academica Team","url":"https://academica.sh/mcp"}},"servers":[{"url":"https://academica.sh/api/mcp","description":"Production Streamable HTTP Gateway"}],"paths":{"/sec-ownership":{"post":{"summary":"Academica SEC Ownership & Flows Tool Execution","description":"Execute JSON-RPC 2.0 tool calls against Academica SEC Ownership & Flows. Available tools: search_holdings: Search filing-derived 13F and N-PORT positions by manager or security identity.; get_manager_portfolio: Return one manager portfolio for one report date with filing coverage and unresolved-identifier counts.; get_security_holders: Return filing-derived holders for one security and report date.; compare_portfolios: Return the union and intersection evidence for two to ten manager portfolios.; trace_position_change: Trace one manager-security position between two filing report dates.; resolve_security: Resolve CUSIP, ISIN, FIGI, or ticker values through the declared identifier map.; get_ownership_events: Return Schedule 13D/G and Form 4 events without merging their distinct semantics..","operationId":"call_sec_ownership","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"default":"2.0"},"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"default":1},"method":{"type":"string","enum":["initialize","tools/list","tools/call","ping"]},"params":{"type":"object","properties":{"name":{"type":"string","enum":["search_holdings","get_manager_portfolio","get_security_holders","compare_portfolios","trace_position_change","resolve_security","get_ownership_events"]},"arguments":{"type":"object"}}}}}}}},"responses":{"200":{"description":"Successful JSON-RPC 2.0 response","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"result":{"type":"object"},"error":{"type":"object"}}}}}},"401":{"description":"Missing or invalid Bearer API key"},"429":{"description":"Monthly quota limit reached for API key"}}}}},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"Academica MCP API key issued at https://academica.sh/mcp/keys"}}},"security":[{"BearerAuth":[]}]}