Variable relationships from research papers with causal direction and source traceback.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Check if the user has completed browser sign-in for a device auth request. Poll this after calling initiate_device_auth. Returns status 'pending' while waiting, or 'complete' with an api_key when the user has signed in. Use the returned api_key as the authorization parameter in other tools. Args: user_code: The user_code returned by initiate_device_auth. Returns: Pending: {"status": "pending"} Complete: {"status": "complete", "api_key": "hk_..."} Error: {"error": "..."}
Check if the user has completed browser sign-in for a device auth request. Poll this after calling initiate_device_auth. Returns status 'pending' while waiting, or 'complete' with an api_key when the user has signed in. Use the returned api_key as the authorization parameter in other tools. Args: user_code: The user_code returned by initiate_device_auth. Returns: Pending: {"status": "pending"} Complete: {"status": "complete", "api_key": "hk_..."} Error: {"error": "..."}
| Argument | Type | Description |
|---|---|---|
| user_code* | string |
{
"type": "object",
"title": "check_device_authArguments",
"required": [
"user_code"
],
"properties": {
"user_code": {
"type": "string",
"title": "User Code"
}
}
}Check the processing status of an uploaded paper. Poll this tool after uploading a PDF until status is 'Ready' before calling get_variable_relationships. Args: file_id: The file_id returned by the /upload endpoint. authorization: Optional. API key as 'Bearer hk_...' or 'hk_...'. session_token: Optional. The session_token returned by /upload for anonymous uploads. Returns: { "status": "Processing" | "Ready" | "Empty" | "Ineligible" | "Pending", "edges_count": int, "variables_count": int }
| Argument | Type | Description |
|---|---|---|
| file_id* | string | |
| authorization | string | |
| session_token | string |
{
"type": "object",
"title": "get_analysis_statusArguments",
"required": [
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"title": "File Id"
},
"authorization": {
"type": "string",
"title": "Authorization",
"default": ""
},
"session_token": {
"type": "string",
"title": "Session Token",
"default": ""
}
}
}Retrieve analyzed variable relationships for a completed paper. Only returns results when get_analysis_status reports status='Ready'. Without an API key (anonymous): returns the relationship list with source, target, and direction — but detailed reasoning is available only with an API key. Sign up at https://hypathesis.com to get one. Args: file_id: The file_id returned by the /upload endpoint. authorization: Optional. API key as 'Bearer hk_...' or 'hk_...'. session_token: Optional. The session_token returned by /upload for anonymous uploads. Returns: Authenticated: full details (source, target, directed, reason per relationship; name, measure per variable). Anonymous: gated (source, target, directed per relationship; name per variable; sign_up_url for full access).
| Argument | Type | Description |
|---|---|---|
| file_id* | string | |
| authorization | string | |
| session_token | string |
{
"type": "object",
"title": "get_variable_relationshipsArguments",
"required": [
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"title": "File Id"
},
"authorization": {
"type": "string",
"title": "Authorization",
"default": ""
},
"session_token": {
"type": "string",
"title": "Session Token",
"default": ""
}
}
}Start a browser-based sign-in flow to get an API key for full access. Call this when you need detailed analysis results (reasoning, measurements) that require authentication. Returns a verification URL to show to the user. After the user signs in, poll check_device_auth with the returned user_code to get the API key. Returns: { "verification_url": str, "user_code": str, "expires_in": 600, "message": str }
No arguments.
{
"type": "object",
"title": "initiate_device_authArguments",
"properties": {}
}