Hypathesis is a remote MCP server that extracts variable relationships, with causal direction and source traceback, from uploaded research papers.
What you can do
Upload a PDF and poll analysis status until processing is ready, using a file_id from the upload endpoint and an optional API key or session token as authorization. Retrieve analyzed variable relationships for a completed paper, including source, target and direction. Get detailed reasoning and measurements only when authenticated. Start a browser-based device sign-in flow and poll it until it returns an API key for full access.
When to use it
Useful when you want an assistant to pull structured variable relationships and causal directions out of research papers, for example to build evidence maps or compare findings across studies, and you are willing to sign in for the detailed reasoning.
Requirements
A remote endpoint at hypathesis.com over streamable HTTP; no local package. Papers are uploaded through a separate upload endpoint to obtain a file_id. An API key (Bearer hk_...) is optional for anonymous use and required for detailed results; it can be obtained through the device sign-in flow.
Before you install
Uploaded papers are sent to a third-party service. Anonymous access returns only the relationship list without detailed reasoning. The device sign-in flow returns an API key that grants full access, so treat it as a secret and avoid exposing it in shared transcripts.
Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.predme%2Fhypathesis/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.
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
}
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).
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
}
Takes no parameters.
check_device_auth
Check Device Auth
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": "..."}
Parametersuser_coderequired
Version history
1
v0.16.0LatestSep 16, 2026
Score
72%
72% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Reached in the last 30 daysRequired25 pts
Auth declaredRequired10 pts
Tools listedRequired15 pts
DescriptionRequired15 pts
Logo10 pts
Publish an icon in the registry entry.
Documentation15 pts
Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.
LicenseNot applicable
A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.