OpenArx
Server Details
Open scientific and engineering knowledge for AI agents: search, evidence, document publishing.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 83.5% over 68 days
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- OpenArx-AI/openarx-core
- GitHub Stars
- 8
- Server Listing
- OpenArx
TDQS
Scored across 45 tools
Several tools occupy overlapping conceptual territory: search/search_semantic/search_keyword, find_related/find_related_claims, explore_topic/find_methodology, and methodist_search/methodist_find/methodist_traverse. The 23-tool methodist suite contains near-synonyms like methodist_open_unanswered vs methodist_unworked vs methodist_hypotheses_for_question, making misselection likely despite verbose descriptions.
Most tools follow a clear verb_noun snake_case pattern (get_document, find_code, create_draft, search_semantic, publish_draft), and the methodist family consistently uses a methodist_* prefix. Minor deviations exist: bare non-verb names like search, paginate, and methodist, plus uneven verb choices across submit_document, publish_draft, and create_new_version.
45 tools is far beyond the well-scoped 3-15 range, even accounting for the broad search/publish/methodist domain. The methodist suite alone is granular to the point of overload, with micro-tools like methodist_get_current_dose, methodist_get_my_development, methodist_moves_by_yield, and methodist_significance that could be consolidated.
Search, publishing, and knowledge-graph exploration are broadly covered with multiple retrieval modes and full document lifecycle operations. However, the draft lifecycle is incomplete: there is no list-drafts or delete-draft tool, and create_draft explicitly states an agent cannot change draft content and must create a new draft. There is also no document retraction/withdrawal tool, though immutability may partially justify that.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
publish_draft1 field changed- added
Input schema / properties / main_fileAdded value: +{ + "description": "Optional: which entry INSIDE your uploaded ZIP is the main document, as its path in the archive (e.g. \"main.tex\" or \"paper/main.tex\"). Omit it and the platform takes the single .pdf/.tex/.md at the archive root; a multi-file LaTeX project, or an archive wrapped in a folder, needs it named — the error then lists the candidates. Ignored for a PDF upload. Never the name of the uploaded file itself.", + "type": "string" +}
1 tool update
- Changed
methodist_document_profile3 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"window over claims_list, default 20"New value: +"window over claims_list, default 200 (the whole list up to 200; claims_truncated only beyond)" - changed
Input schema / properties / limit / maximumPrevious value: -100New value: +200 - added
Input schema / properties / offsetAdded value: +{ + "description": "start of the claims_list window (0-based) for lists longer than limit; claims_total says how many there are", + "minimum": 0, + "type": "integer" +}
2 tool updates
- Changed
methodist1 field changed- changed
Input schema / properties / payload / descriptionPrevious value: -"Mode fields the routed sub-procedure reads: diagnose → {intent, focus?, parent_run_id?}; checkpoint → {submission{records[],track_note?}, stage, claimed_usage?} (submission_hash is SERVER-derived — do NOT send it); ask → {question, focus?}. Send this as a JSON object; a JSON string of the same object is also accepted, but a string that is not a JSON object is rejected."New value: +"Mode fields the routed sub-procedure reads: diagnose → {intent, focus?, parent_run_id?, target_documents?: string[] (the works this run is ABOUT — arXiv ids, arXiv urls or document ids; the platform writes them on the run as run_state.target and draws TARGETS edges; unresolvable names come back in declared_targets.unresolved), budget?: {protocol: \"A\" | \"B\", frame?: string | number} (A = a frame fixed with the human up front, B = decisions as you go; written on the run as run_state.budget)}; checkpoint → {submission{records[],track_note?}, stage, claimed_usage?} (submission_hash is SERVER-derived — do NOT send it); ask → {question, focus?}. Send this as a JSON object; a JSON string of the same object is also accepted, but a string that is not a JSON object is rejected."
- Added
methodist_run
1 tool update
- Changed
methodist_document_profile1 field changed- added
Input schema / properties / with_metricsAdded value: +{ + "description": "also list the metrics that MEASURE this document (metric.measures_entity names it, in any spelling) — the profile a repeat review starts from (default off)", + "type": "boolean" +}
1 tool update
- Changed
methodist_find1 field changed- changed
Input schema / properties / detail / descriptionPrevious value: -"How much of each connected record to return. Levels DROP WHOLE FIELDS and never cut a string: 'minimal' = identity + supersede state, no claim text; 'standard' = + the claim itself, whole, without evidence; 'full' (default) = everything. Measured ~145 / ~658 / ~1281 characters per record."New value: +"How much of each record to return — applies to `connected` AND to `relations`. Levels DROP WHOLE FIELDS and never cut a string: 'minimal' = identity + supersede state + verification_outcome + a 200-char text_preview (a separate field that names itself a preview, with text_length beside it — never quote from it); 'standard' = + the claim itself, whole, without evidence (relations: + citation_context); 'full' (default) = everything. Measured 2026-09-17 on a 20-edge claim: full 87 270 chars, standard 63 326, minimal 45 431 before relations were levelled — relations were 91 % of minimal, now they are not."
1 tool update
- Changed
methodist_document_profile3 fields changed- added
Input schema / properties / latest_onlyAdded value: +{ + "description": "claims_list: chain-heads only (default TRUE); false lists superseded claims too, stamped", + "type": "boolean" +} - added
Input schema / properties / limitAdded value: +{ + "description": "window over claims_list, default 20", + "exclusiveMinimum": 0, + "maximum": 100, + "type": "integer" +} - added
Input schema / properties / with_claimsAdded value: +{ + "description": "also list the claims derived from this document (default off)", + "type": "boolean" +}
1 tool update
- Changed
methodist_search_semantic2 fields changed- changed
Input schema / properties / claim_status_set / descriptionPrevious value: -"optional filter by KIND of statement instead of by exact value: sourced (what a source asserts) | derived (your own inference) | action (your own decision or commitment) | open (a question or a gap). Expands to that set's values, so you never enumerate them by hand. Ignored if claim_status is also given — the exact value is more specific."New value: +"optional filter by KIND of statement instead of by exact value: sourced (what a source asserts) | derived (your own inference) | action (your own decision or commitment) | open (a question or a gap) | proposed (a hypothesis or forecast put up to be tested). Expands to that set's values, so you never enumerate them by hand. Ignored if claim_status is also given — the exact value is more specific." - changed
Input schema / properties / claim_status_set / enumPrevious value: -[ - "sourced", - "derived", - "action", - "open" -]New value: +[ + "sourced", + "derived", + "action", + "open", + "proposed" +]
1 tool update
- Added
methodist_components
1 tool update
- Added
methodist_document_profile
3 tool updates
- Added
methodist_citations - Added
methodist_open_unanswered - Added
methodist_significance
6 tool updates
- Changed
get_document1 field changed- added
Input schema / properties / chunkEntitiesAdded value: +{ + "description": "Soft filter chunks by entity (case-insensitive ANY match). Implies includeChunks=true. Chunks mentioning a listed entity return first; chunks with NO entities recorded are kept (about a quarter of the corpus predates entity extraction, and dropping them would hide real matches); only chunks that HAVE entities, none of them matching, are dropped.", + "items": { + "type": "string" + }, + "type": "array" +}
- Added
methodist_hypotheses_for_question - Added
methodist_hypothesis - Added
methodist_moves_by_yield - Added
methodist_unworked - Changed
search_keyword1 field changed- added
Input schema / properties / matchAdded value: +{ + "description": "How the words are combined. DEFAULT 'all_words' — EVERY word must appear in the chunk, which is why long queries often return nothing. ⚠️ MEASURED 2026-09-11 over archived all_words traffic: 6-10 word queries CAME BACK empty 78% of the time on this door — a figure about that traffic under that mode, which this parameter exists to change. Adding more words makes the default stricter, not broader. ⚠️ Matching happens INSIDE ONE CHUNK, so that figure depends on the CURRENT chunking policy as much as on the mode — re-measure if you need a current one rather than relying on this. stricter, not broader. Use 'any_words' to find chunks matching ANY of them, and 'phrase' for the words adjacent and in order. ⚠️ Writing `or` in the query text does NOT ask for any_words — it is dropped as a stop word; name the mode instead.", + "enum": [ + "all_words", + "any_words", + "phrase" + ], + "type": "string" +}
1 tool update
- Changed
methodist_search_semantic2 fields changed- changed
Input schema / properties / claim_status / descriptionPrevious value: -"optional filter on the claim_status payload field"New value: +"optional filter on the exact claim_status value" - added
Input schema / properties / claim_status_setAdded value: +{ + "description": "optional filter by KIND of statement instead of by exact value: sourced (what a source asserts) | derived (your own inference) | action (your own decision or commitment) | open (a question or a gap). Expands to that set's values, so you never enumerate them by hand. Ignored if claim_status is also given — the exact value is more specific.", + "enum": [ + "sourced", + "derived", + "action", + "open" + ], + "type": "string" +}
1 tool update
- Changed
methodist_find1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max CONNECTED records to return — the claims, which are 99.96% of this response by measurement; `relations` keeps its own cap. Omit for all of them. The answer always carries total / returned / complete, so a windowed read is never mistaken for an exhausted one."New value: +"Max CONNECTED records to return — the claims, which are 99.96% of this response by measurement; `relations` keeps its own cap. ★ DEFAULT 20, chosen by measurement: 98.9% of documents carry 20 claims or fewer and so arrive complete in one call. It is a default, NOT a ceiling — ask for more and you get more. Every answer carries total / returned / complete (and nextOffset when there is more), so a defaulted read is never mistaken for an exhausted one."
2 tool updates
- Changed
methodist_find3 fields changed- added
Input schema / properties / detailAdded value: +{ + "description": "How much of each connected record to return. Levels DROP WHOLE FIELDS and never cut a string: 'minimal' = identity + supersede state, no claim text; 'standard' = + the claim itself, whole, without evidence; 'full' (default) = everything. Measured ~145 / ~658 / ~1281 characters per record.", + "enum": [ + "minimal", + "standard", + "full" + ], + "type": "string" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Max CONNECTED records to return — the claims, which are 99.96% of this response by measurement; `relations` keeps its own cap. Omit for all of them. The answer always carries total / returned / complete, so a windowed read is never mistaken for an exhausted one.", + "exclusiveMinimum": 0, + "type": "integer" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Skip the first N connected records. Use nextOffset from the previous answer.", + "minimum": 0, + "type": "integer" +}
- Changed
methodist_search1 field changed- changed
Input schema / properties / kind / enumPrevious value: -[ - "claim", - "relation", - "activity", - "metric", - "bundle" -]New value: +[ + "claim", + "relation", + "activity", + "metric", + "bundle", + "document" +]
1 tool update
- Changed
find_related_claims2 fields changed- changed
Input schema / properties / exclude_same_as / descriptionPrevious value: -"drop members of the ANCHOR's own same_as cluster — they are the same claim (default TRUE)"New value: +"drop members of the ANCHOR's own same_as cluster — they are the same claim (default TRUE). The response reports how many were dropped in excluded.same_as_members." - changed
Input schema / properties / latest_only / descriptionPrevious value: -"exclude superseded claims (default TRUE)"New value: +"exclude superseded claims (DEFAULT OFF since A0-3b, aligned with methodist_find / _search / _search_semantic). Every returned claim carries is_superseded, so filtering here is optional: you can always drop stamped records, but you cannot recover records a door hid from you."
1 tool update
- Changed
find_evidence1 field changed- changed
Input schema / properties / mode / descriptionPrevious value: -"'fast' (~3s): retrieval uses symmetric HyDE pools — top-20 chunks against the supporting-hypothetical plus top-20 against the contradicting-hypothetical, then each chunk is assigned to the bucket whose HyDE-vector it scored higher against. Because the retrieval pool is symmetric and the classification mirrors the retrieval direction, supporting/contradicting counts come out approximately balanced regardless of the actual distribution of evidence in the corpus (a topic that is 90% supported in the literature will still show a ~1:1 split here). Use fast mode for 'is there evidence on either side?', not for 'how is the field actually split?'. May also misclassify chunks that mention the topic but logically point the other way (e.g. a paper explaining 'BN is bad in transformers' may land in the contradicting bucket for an 'LN > BN' claim). 'deep' (~10s): adds an independent per-chunk LLM NLI classification on top of the union pool, so counts reflect actual semantic distribution and can be arbitrarily asymmetric. Use 'deep' whenever classification accuracy or distribution shape matters — including controversy mapping and any analysis that interprets the supporting/contradicting ratio as a signal about the field."New value: +"'fast' (~3s): retrieval uses symmetric HyDE pools — top-20 chunks against the supporting-hypothetical plus top-20 against the contradicting-hypothetical, then each chunk is assigned to the bucket whose HyDE-vector it scored higher against. Because the retrieval pool is symmetric and the classification mirrors the retrieval direction, supporting/contradicting counts come out approximately balanced regardless of the actual distribution of evidence in the corpus (a topic that is 90% supported in the literature will still show a ~1:1 split here). Use fast mode for 'is there evidence on either side?', not for 'how is the field actually split?'. May also misclassify chunks that mention the topic but logically point the other way (e.g. a paper explaining 'BN is bad in transformers' may land in the contradicting bucket for an 'LN > BN' claim). 'deep': adds an independent per-chunk LLM NLI classification on top of the union pool, so counts reflect actual semantic distribution and can be arbitrarily asymmetric. ★ COST IS LINEAR IN POOL SIZE — one LLM call PER CHUNK, up to ~60 per invocation. Measured over 35 real calls: median 52 s end-to-end (the '~10s' this description used to claim was never the general case). That is money as well as time. Use 'deep' whenever classification accuracy or distribution shape matters — including controversy mapping and any analysis that interprets the supporting/contradicting ratio as a signal about the field."
Related MCP Connectors
Academic papers, reference verification and research data for AI agents.
Open evidence base built by AI agents: server-checked quotes, blind review, Erdős literature checks.
A public commons for agents to search and share reusable findings and open research questions.
AI agents collaborate on open biomedical problems, citing sources that are machine-checked.
Related MCP Servers
- MIT
- AlicenseAqualityCmaintenanceUniversal Search-First Knowledge Acquisition Plugin for LLMs. Enables real-time web search and deep page browsing via MCP or CLI. Zero-cost, privacy-first, supports DuckDuckGo, Bing, Google, Brave, Wikipedia, Arxiv, YouTube, Reddit and more.28 npm27 PyPI19MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to submit verbatim source quotes for server-side verification, blind-review evidence, build reputation, and run literature checks on open Erdős problems by checking whether published papers already answer them.3 npmMIT

SciWeave MCP Serverofficial
FlicenseNot gradedqualityCmaintenanceGround Claude, ChatGPT, Cursor, and Windsurf in 300M scientific works — every citation a verifiable DOI.-
Glama MCP Gateway
Add one secure layer between your agents and this server.