Skip to main content
Glama
ramiramirez-nl

doaj-discovery-mcp

DOAJ Discovery MCP

Search the Directory of Open Access Journals from any AI client — no account, no API key, no payment

Claude Code compatible Node MCP SDK Tools Transport License

Problem · Tools · Quick Start · Local · Docker · Privacy · Development · Deployment


🎯 The Problem

The DOAJ indexes over 23,000 peer-reviewed open access journals, but finding the right one is manual work. Its API speaks Elasticsearch query syntax — bare multi-word searches are AND-ed together, so a natural-language question or a pasted abstract silently returns nothing. Filtering by article processing charge, licence, publisher country, or language means knowing field paths like bibjson.apc.has_apc and that DOAJ stores "NL" rather than "Netherlands".

Meanwhile, an AI assistant asked "which no-fee journals publish Syriac manuscript studies?" will answer from training data — plausible journal names, stale APC policies, no verifiable links.

This server closes that gap. It translates plain-language questions and manuscript abstracts into valid DOAJ queries, applies real metadata filters server-side, ranks candidates locally, and returns source links for verification.

NOTE

Public beta. Free to use, no uptime SLA. Verify important results on DOAJ and the journal's own website.

IMPORTANT

Independent project. DOAJ Discovery MCP is an independent, unofficial open-source project. It is not affiliated with, endorsed by, sponsored by, or operated by DOAJ.


Related MCP server: nara-mcp-server

🧰 Tools

Eight read-only tools. None performs editorial review, acceptance prediction, compliance checking, or publishing decisions.

Tool

Key inputs

What it does

search_doaj_journals

query, country, language, license, noApcOnly, strict

Journal search with DOAJ-side metadata filters and local lexical ranking

search_doaj_articles

query, limit, strict

Article search with local lexical ranking

recommend_doaj_journals_for_manuscript

abstract, title, preferredLanguage, preferredCountry, noApcOnly

Manuscript-fit discovery candidates from an abstract

find_diamond_oa_journals

query, limit

No-fee journals via the bibjson.apc.has_apc:false filter

find_similar_doaj_articles

abstract, title

Articles similar to a given abstract

get_doaj_journal_by_issn

issn

Direct lookup by print or electronic ISSN

get_doaj_article_by_doi

doi

Direct lookup by DOI

explain_doaj_metadata

term

Explains APC, licence, language, ISSN, diamond OA — fully local, no network call

Every search response includes the effective DOAJ query it ran, the upstream total, and how many results were returned, so you can see and audit what was actually asked.

Why connect this instead of asking directly?

An AI client can query current DOAJ metadata rather than relying on model memory. It can find journal or article candidates, identify no-APC records, rank results for a topic, and preserve links for verification. The connection exposes no private DOAJ data.


🚀 Quick Start

Remote (Streamable HTTP)

No account, API key, or payment required. Add this URL:

https://doaj-discovery-mcp-hbyczavkfq-ew.a.run.app/mcp

Client

Where to add it

Claude (paid plans)

Settings → Connectors → Add custom connector

ChatGPT (Business, Enterprise, Edu)

Settings → Apps, developer mode enabled, created by an authorized admin or developer

Codex / other MCP clients

Add as a remote Streamable HTTP MCP server

Client availability and menu names change. See the current Claude connector guide and ChatGPT developer mode guide.

Local (stdio)

For clients that launch MCP servers as a subprocess:

npm ci && npm run build
{
  "mcpServers": {
    "doaj-discovery": {
      "command": "node",
      "args": ["/absolute/path/to/doaj-discovery-mcp/dist/src/stdio.js"]
    }
  }
}

💻 Run Locally

Requires Node.js 22 or newer.

npm ci
cp .env.example .env
npm run dev

Open http://localhost:3000/. The MCP endpoint is http://localhost:3000/mcp; health is http://localhost:3000/health. For the stdio transport instead, run npm run dev:stdio.

Configuration is documented in .env.example. The public DOAJ API is used without an API key.


🐳 Docker

docker build -t doaj-discovery-mcp .
docker run --rm -p 3000:3000 --env-file .env doaj-discovery-mcp

🔒 Privacy

Do not send confidential, unpublished, personal, or sensitive manuscript text to the public service. Requests pass through Google Cloud and the public DOAJ API. Query text and abstracts are not intentionally persisted by the application, and production caching is disabled. Read PRIVACY.md for details.


🛠 Development

npm run check                 # tests, build, lint, format check
DOAJ_LIVE_TEST=1 npm test     # additionally hit the real DOAJ API
docker build -t doaj-discovery-mcp:local .

The live tests are skipped by default so CI stays hermetic. They exist as a regression guard: a DOAJ query can be syntactically valid and still match zero records, which unit tests with a stubbed fetch cannot detect.

See CONTRIBUTING.md and the MIT License.


☁️ Deployment

Pushes to main are verified by CI and then deployed to Google Cloud Run through keyless Workload Identity Federation. See docs/CLOUD_RUN.md.

Available Tools

8 tools
explain_doaj_metadataExplain DOAJ metadataA
Read-onlyIdempotent

Explain DOAJ metadata terms such as APC, license, language, ISSN, or diamond OA.

ParametersJSON Schema
NameRequiredDescriptionDefault
termYesThe metadata term to explain, e.g. "APC", "diamond OA", "license", "ISSN", or "language".

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description confirms it is explanatory, but adds no additional behavioral context beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One succinct sentence, front-loaded with the core action and examples. No unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple: it explains a term. The single parameter is well-defined, and no output schema is needed for an explanatory response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully describes the parameter 'term' with examples. The tool description repeats those examples without adding new semantic information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool explains DOAJ metadata terms and gives specific examples (APC, license, etc.), distinguishing it from the sibling search and retrieval tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose strongly implies when to use it, but it does not explicitly contrast with alternatives or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_diamond_oa_journalsFind diamond OA journalsA
Read-onlyIdempotent

Find no-fee or diamond open-access DOAJ journals.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return (1-25). Defaults to 10.
queryYesSearch text: keywords, a topic, or a short phrase (e.g. "diamond open access economics"). Longer text is automatically broadened if a narrow match returns nothing.
strictNoIf true, require every query term to match (AND) instead of relaxing to a broader OR match when the strict search returns nothing. Use for a well-defined, narrow query.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint) already fully disclose the behavioral profile. The description is consistent with these annotations and adds no contradictory or additional side-effect information, but also does not go beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that communicates the essential purpose without any fluff or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is clear on its own, but given the presence of sibling tools like search_doaj_journals, it could be more complete by noting that this tool is a specialized subset (filtering for no-fee or diamond OA). Still, the core context is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters (query, limit, strict) are fully described in the schema: types, defaults, and purpose. The strict parameter's behavior (AND vs OR) is explicitly explained, and limit has clear bounds. Schema description coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Find' and the specific resource: no-fee or diamond open-access DOAJ journals. It is unambiguous and directly conveys the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly indicate when to use this tool versus the sibling search_doaj_journals or other related tools. While the purpose is specific, guidance on when to prefer this over a general search is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_similar_doaj_articlesFind similar DOAJ articlesB
Read-onlyIdempotent

Find similar articles using local lexical and metadata similarity.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return (1-25). Defaults to 10.
titleNoThe reference article's title, if available. Improves matching alongside the abstract.
abstractYesThe reference abstract or topic description to find similar articles for. Pass the full text, not keywords.

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions the use of 'local lexical and metadata similarity,' giving some insight into the matching method. However, it does not describe any side effects or return behavior beyond the read-only nature already indicated by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that avoids redundancy. It is appropriately brief for its purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (three parameters, no output schema), the description provides the core idea but omits details about the returned data format or how similarity is scored. This is a minor gap but not critical for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides detailed descriptions for all three parameters, covering limit, title, and abstract. The description adds no additional semantic information beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: finding similar articles. It is distinct from search because it focuses on similarity, but it does not explicitly differentiate itself from sibling tools like search_doaj_articles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as search_doaj_articles or get_doaj_article_by_doi. It does not mention any conditions or use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_doaj_article_by_doiGet DOAJ article by DOIA
Read-onlyIdempotent

Look up a single DOAJ-indexed article by its DOI.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiYesThe article's DOI, e.g. "10.1234/example.2024.001", with or without a "https://doi.org/" prefix.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnly, openWorld, and idempotent behavior, so the bar for additional disclosure is lower. The description is consistent with these annotations but adds no extra details (e.g., error handling, return format). It neither contradicts nor enriches the behavioral contract.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no redundant words or extraneous information. It is well-structured and immediately conveys the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward lookup tool, the description is complete enough. It identifies the input (DOI) and the expected outcome (looking up an article). While it does not explicitly state what happens if the DOI is not found, this is a common expectation and not a critical gap given the simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'doi' is fully described in the schema with format examples, yielding 100% schema coverage. The tool description does not add any additional semantic information about the parameter beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('look up'), the resource ('single DOAJ-indexed article'), and the identifier ('by its DOI'). This is specific and distinguishes it from sibling tools like search_doaj_articles (which searches) and get_doaj_journal_by_issn (which retrieves a journal).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any explicit guidance on when to use this tool instead of alternatives. It does not mention that this is the preferred choice when a DOI is already known, nor does it contrast with search-based retrieval. The context of sibling tools is not referenced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_doaj_journal_by_issnGet DOAJ journal by ISSNA
Read-onlyIdempotent

Look up a single DOAJ-indexed journal by its print or electronic ISSN.

ParametersJSON Schema
NameRequiredDescriptionDefault
issnYesThe journal's print (pISSN) or electronic (eISSN) ISSN, e.g. "1234-5678". Either form is checked.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no additional behavioral context such as error handling, rate limits, or what happens if the ISSN is not found. Given the strong annotation coverage, a 3 is appropriate – the description does not contradict annotations but also does not enrich beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with zero wasted words. It front-loads the action ('Look up a single journal') and the essential constraint (by ISSN). Perfectly concise and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only lookup tool with no output schema and complete parameter documentation, the description is adequate. It does not explain the return format or absence behavior, but given the simplicity and the sibling context, nothing critical is missing for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and already explains that the parameter is a print or electronic ISSN with format example. The description's mention of 'print or electronic ISSN' merely restates the schema, adding no new meaning. Baseline 3 applies because the schema carries the full parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb ('Look up'), a precise resource ('a single DOAJ-indexed journal'), and the exact lookup key (ISSN). It clearly distinguishes this tool from the sibling search_doaj_journals and others by specifying a single-record lookup by identifier rather than a broad search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly states the usage condition: you must have an ISSN (print or electronic). It does not explicitly mention alternatives or when-not-to-use, but the clarity of the required input makes the context clear. A mention of 'use search_doaj_journals if you don't have an ISSN' would earn a 5, but the current phrasing is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_doaj_journals_for_manuscriptRecommend DOAJ journals for manuscript fitA
Read-onlyIdempotent

Suggest discovery candidates for a manuscript abstract or topic; not an acceptance prediction.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return (1-25). Defaults to 10.
titleNoThe manuscript's title, if available. Improves matching alongside the abstract.
abstractYesThe manuscript's abstract or a description of its topic. Pass the full text, not keywords.
noApcOnlyNoIf true, only recommend journals with no article processing charge.
preferredCountryNoPreferred publisher country as a name, e.g. "Turkey" (not an ISO code).
preferredLanguageNoPreferred journal language as a name, e.g. "English" (not an ISO code).

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, open-world, and non-destructive behavior, so no side-effect disclosure is needed. The description adds the meaningful caveat that output is discovery suggestions rather than acceptance predictions, which helps set expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action and object. It contains no redundant filler and leaves detailed parameter information to the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description gives a general sense that results are discovery candidates, and the title clarifies they are journals. It does not specify the result structure such as journal names or metadata, but for a recommendation tool this is mostly sufficient; slightly more detail could improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all 6 parameters with descriptive comments, including guidance like 'Pass the full text, not keywords' and 'not an ISO code', so schema description coverage is 100%. The main description adds no extra per-parameter semantics beyond this, warranting the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool suggests discovery candidates for a manuscript abstract or topic and explicitly disclaims acceptance prediction. It is somewhat less explicit about the resource being DOAJ journals, though the title and name make that unambiguous; it does not fully differentiate from sibling search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides use context ('for a manuscript abstract or topic') and an explicit when-not ('not an acceptance prediction'). It does not name sibling tools or specify when to prefer structured search or diamond-OA filters, so it falls slightly short of fully explicit alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_doaj_articlesSearch DOAJ articlesA
Read-onlyIdempotent

Find DOAJ-indexed articles using lexical relevance and metadata preferences.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return (1-25). Defaults to 10.
queryYesSearch text: keywords, a topic, or a short phrase (e.g. "diamond open access economics"). Longer text is automatically broadened if a narrow match returns nothing.
strictNoIf true, require every query term to match (AND) instead of relaxing to a broader OR match when the strict search returns nothing. Use for a well-defined, narrow query.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive) and open-world behavior. The description adds a note about lexical relevance but does not elaborate on result ordering, pagination, or empty-result behavior, which is acceptable given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no redundant information. It efficiently conveys the purpose without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a straightforward search with no output schema and no nested objects, so the description is largely complete. It does not explicitly mention that results are a list of articles, but this is inferred from the tool name and purpose; minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all three parameters (query, limit, strict) with clear descriptions. The tool description adds no extra parameter context beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Find), the resource (DOAJ-indexed articles), and the method (lexical relevance and metadata preferences). It distinguishes this tool from siblings like search_doaj_journals and get_doaj_article_by_doi.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. While the lexical relevance hint implies keyword search, it does not differentiate from search_doaj_journals or other article-related tools, leaving the selection largely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_doaj_journalsSearch DOAJ journalsA
Read-onlyIdempotent

Find DOAJ-indexed journals using lexical relevance and metadata preferences.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return (1-25). Defaults to 10.
queryYesSearch text: keywords, a topic, or a short phrase (e.g. "diamond open access economics"). Longer text is automatically broadened if a narrow match returns nothing.
strictNoIf true, require every query term to match (AND) instead of relaxing to a broader OR match when the strict search returns nothing. Use for a well-defined, narrow query.
countryNoPublisher country as a name, e.g. "Turkey" or "Brazil" (not an ISO code). Narrows results to that country when recognized; otherwise only affects ranking.
licenseNoLicense substring to filter by, e.g. "CC BY" or "CC BY-NC".
languageNoJournal language as a name, e.g. "English" or "Turkish" (not an ISO code). Narrows results to that language when recognized; otherwise only affects ranking.
noApcOnlyNoIf true, only return journals with no article processing charge (diamond/no-fee open access).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description does not contradict these and adds useful context about lexical relevance and metadata filtering. No side effects or destructive behavior are implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundant wording. It conveys the essential purpose efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete enough for a simple search tool with well-documented parameters and no output schema. It clearly indicates what is found, though it does not spell out exact return fields or explicitly contrast with article-level search.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with rich parameter descriptions explaining behavior such as country/language fallback ranking and strict OR/AND matching. The one-sentence tool description adds little beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Find'), the resource ('DOAJ-indexed journals'), and the method ('using lexical relevance and metadata preferences'). This distinguishes it from sibling tools that search articles or focus on diamond OA journals.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly say when to use this tool versus alternatives such as search_doaj_articles or find_diamond_oa_journals. The purpose is clear, but there is no direct guidance on selection criteria among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv0.3.0-beta.1
    • First observedexplain_doaj_metadata
    • First observedfind_diamond_oa_journals
    • First observedfind_similar_doaj_articles
    • First observedget_doaj_article_by_doi
    • First observedget_doaj_journal_by_issn
    • First observedrecommend_doaj_journals_for_manuscript
    • First observedsearch_doaj_articles
    • First observedsearch_doaj_journals

TDQS

A3.9/5.0

Scored across 8 tools

Disambiguation4/5

Tools are mostly distinct, but find_diamond_oa_journals and search_doaj_journals both find journals, and search_doaj_articles vs find_similar_doaj_articles could be confused; descriptions clarify, but some overlap remains.

Naming Consistency5/5

All tool names follow the verb_noun pattern with snake_case, using descriptive and consistent nouns (doaj_journals, doaj_articles, doaj_metadata, etc.).

Tool Count5/5

8 tools is a well-scoped set for a discovery service, covering search, retrieval, recommendation, and explanation without excess.

Completeness5/5

The surface covers the full discovery workflow: searching journals and articles, retrieving by ISSN/DOI, finding similar content, recommending journals, and explaining metadata terms.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables querying the Crossref API to search for academic publications by title, author, or DOI, returning structured metadata about scholarly works.
    3
    23 npm
    4
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Read-only Model Context Protocol server for the US National Archives Catalog API, enabling search and retrieval of archival records, child records, extracted text, comments, and tags.
    7
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server for scholarly tools, enabling AI assistants to interact with scholarly data and services via discoverable tools.
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    A Model Context Protocol server for searching and downloading academic papers from multiple free and public sources, enabling LLM-driven academic research workflows.
    57
    MIT