Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,537Letters: 14Defects: 1,323counted just now
teppi

Server definition

Hash
sha256:121e31ba98966ea31d05e8b37d7451fd353188711c5aab1b23f66a27e41fefde
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": "Hypathesis analyzes research papers and extracts structured variable relationships with causal direction. IMPORTANT: In Claude Desktop, use Code mode (not Chat or Cowork). Workflow: (1) upload a PDF via: curl -s -F file=@/path/to/paper.pdf https://hypathesis.com/mcp/upload — this returns a file_id and starts processing automatically, (2) poll get_analysis_status with the file_id until status is 'Ready', (3) call get_variable_relationships with the file_id to retrieve results. No account needed for basic results. With an API key you also get detailed reasoning. To get an API key, call initiate_device_auth — this gives the user a link to sign in with Google, and you get an API key automatically. IMPORTANT: After receiving an API key, save it to a file called .hypathesis-key in the working directory so it persists across sessions. On future sessions, check for .hypathesis-key first — if it exists, use that key instead of initiating device auth again. Pass the API key in the Authorization header when uploading: curl -s -H 'Authorization: Bearer hk_...' -F [email protected] https://hypathesis.com/mcp/upload If the upload fails with a network error, ask the user to switch to Code mode in Claude Desktop, which has the network access needed for file uploads.", "tools": [ { "description": "\n Check if the user has completed browser sign-in for a device auth request.\n\n Poll this after calling initiate_device_auth. Returns status 'pending'\n while waiting, or 'complete' with an api_key when the user has signed in.\n Use the returned api_key as the authorization parameter in other tools.\n\n Args:\n user_code: The user_code returned by initiate_device_auth.\n\n Returns:\n Pending: {\"status\": \"pending\"}\n Complete: {\"status\": \"complete\", \"api_key\": \"hk_...\"}\n Error: {\"error\": \"...\"}\n ", "inputSchema": { "properties": { "user_code": { "title": "User Code", "type": "string" } }, "required": [ "user_code" ], "title": "check_device_authArguments", "type": "object" }, "name": "check_device_auth", "outputSchema": { "properties": { "result": { "additionalProperties": true, "title": "Result", "type": "object" } }, "required": [ "result" ], "title": "check_device_authOutput", "type": "object" } }, { "description": "\n Check the processing status of an uploaded paper.\n\n Poll this tool after uploading a PDF until status is 'Ready' before\n calling get_variable_relationships.\n\n Args:\n file_id: The file_id returned by the /upload endpoint.\n authorization: Optional. API key as 'Bearer hk_...' or 'hk_...'.\n session_token: Optional. The session_token returned by /upload for anonymous uploads.\n\n Returns:\n {\n \"status\": \"Processing\" | \"Ready\" | \"Empty\" | \"Ineligible\" | \"Pending\",\n \"edges_count\": int,\n \"variables_count\": int\n }\n ", "inputSchema": { "properties": { "authorization": { "default": "", "title": "Authorization", "type": "string" }, "file_id": { "title": "File Id", "type": "string" }, "session_token": { "default": "", "title": "Session Token", "type": "string" } }, "required": [ "file_id" ], "title": "get_analysis_statusArguments", "type": "object" }, "name": "get_analysis_status", "outputSchema": { "properties": { "result": { "additionalProperties": true, "title": "Result", "type": "object" } }, "required": [ "result" ], "title": "get_analysis_statusOutput", "type": "object" } }, { "description": "\n Retrieve analyzed variable relationships for a completed paper.\n\n Only returns results when get_analysis_status reports status='Ready'.\n\n Without an API key (anonymous): returns the relationship list with\n source, target, and direction — but detailed reasoning is available\n only with an API key. Sign up at https://hypathesis.com to get one.\n\n Args:\n file_id: The file_id returned by the /upload endpoint.\n authorization: Optional. API key as 'Bearer hk_...' or 'hk_...'.\n session_token: Optional. The session_token returned by /upload for anonymous uploads.\n\n Returns:\n Authenticated: full details (source, target, directed, reason per\n relationship; name, measure per variable).\n Anonymous: gated (source, target, directed per relationship;\n name per variable; sign_up_url for full access).\n ", "inputSchema": { "properties": { "authorization": { "default": "", "title": "Authorization", "type": "string" }, "file_id": { "title": "File Id", "type": "string" }, "session_token": { "default": "", "title": "Session Token", "type": "string" } }, "required": [ "file_id" ], "title": "get_variable_relationshipsArguments", "type": "object" }, "name": "get_variable_relationships", "outputSchema": { "properties": { "result": { "additionalProperties": true, "title": "Result", "type": "object" } }, "required": [ "result" ], "title": "get_variable_relationshipsOutput", "type": "object" } }, { "description": "\n Start a browser-based sign-in flow to get an API key for full access.\n\n Call this when you need detailed analysis results (reasoning, measurements)\n that require authentication. Returns a verification URL to show to the user.\n After the user signs in, poll check_device_auth with the returned user_code\n to get the API key.\n\n Returns:\n {\n \"verification_url\": str,\n \"user_code\": str,\n \"expires_in\": 600,\n \"message\": str\n }\n ", "inputSchema": { "properties": {}, "title": "initiate_device_authArguments", "type": "object" }, "name": "initiate_device_auth", "outputSchema": { "properties": { "result": { "additionalProperties": true, "title": "Result", "type": "object" } }, "required": [ "result" ], "title": "initiate_device_authOutput", "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:121e31ba98966ea31d05e8b37d7451fd353188711c5aab1b23f66a27e41fefde | sha256sum