# DOAJ MCP

> DOAJ connects your AI agent to the Directory of Open Access Journals (DOAJ). This lets researchers search millions of open access articles and journals, or allows publishers to manage their own scholarly records directly. You can query metadata using complex filters or upload large batches of new content without leaving your chat window.

## Overview
- **Category:** knowledge-management
- **Price:** Free
- **Tags:** academic-research, open-access, journals, metadata-search, peer-reviewed

## Description

Need to find specific research papers in the open-access space? This MCP lets you pull data straight from the Directory of Open Access Journals (DOAJ). Researchers get instant access to journal and article details, letting them search across thousands of publications using detailed filters like ISSN or title keywords. If you work for a publishing house, you can do more than just read: you can use your agent to create, update, or delete entire records, managing the catalog directly from conversation. It's all managed through Vinkius, making it easy for any MCP-compatible client to access this massive dataset without needing database credentials. Librarians and data scientists find it a huge time saver—they can automate metadata retrieval for analysis, turning manual library browsing into simple queries.

## Tools

### bulk_create_articles
Uploads multiple articles to DOAJ at once, requiring a publisher API key and managing batch size limits.

### create_application
Submits an update request for an existing journal's metadata record using the required journal ID.

### create_article
Creates a brand new article in DOAJ, overwriting any existing record if a DOI or full-text URL is provided.

### delete_article
Removes an article from the DOAJ catalog when you have the necessary publisher API key.

### get_article
Retrieves all metadata for a single, specific DOAJ article using its unique ID number.

### search_articles
Searches articles across the entire database using complex query strings targeting fields like title or author.

### search_journals
Finds journals by name, subject, or other metadata filters, also supporting advanced query syntax.

### update_article
Modifies the details of an existing DOAJ article record for publishers who have API access.

## Prompt Examples

**Prompt:** 
```
Search for open access journals about 'Quantum Computing' in DOAJ.
```

**Response:** 
```
I found several journals. Notable ones include 'Quantum Information Processing' and 'Nature Communications' (Open Access articles). Would you like to see the full list or filter by a specific publisher?
```

**Prompt:** 
```
Find articles with 'CRISPR' in the title published in 2023.
```

**Response:** 
```
Searching articles... I found 12 articles matching 'CRISPR' from 2023. One example is 'CRISPR-Cas9 Gene Editing in Agriculture' (ID: 98765). Should I retrieve the full metadata for this article?
```

**Prompt:** 
```
Get the full metadata for DOAJ article ID '12039402123'.
```

**Response:** 
```
Retrieving details for article 12039402123... The article is titled 'Sustainable Energy Systems', published in the 'Journal of Renewable Power'. It includes full-text links, author list, and abstract. Would you like the abstract text?
```

## Capabilities

### Find Journals by Specific Criteria
Search the DOAJ catalog to locate open-access journals using detailed filters like title or ISSN.

### Locate Academic Articles
Run deep searches across thousands of publications to find specific research papers and articles by keyword or date.

### Fetch Article Details
Retrieve all metadata for a single article using its unique DOAJ ID, giving you the full context instantly.

### Publishing Record Management
As a publisher, create new articles or update existing journal information directly through your agent's interface.

### Process Large Data Batches
Bulk upload hundreds of article records at once for efficient, high-volume catalog management.

## Use Cases

### The Research Scope Check
A researcher needs to see all open-access journals related to 'Marine Biology' published in the last five years. They ask their agent, and it uses `search_journals` with specific filters to present a curated list they can analyze immediately.

### The Content Update Nightmare
A publisher needs to update 50 journal records that changed titles or issue dates. Instead of logging into the DOAJ portal fifty times, they use `update_article` in a single batch process via their agent.

### The Missing Article Record
A librarian finds an article cited but can't find its details. They give the agent the unique ID and it uses `get_article`, pulling back the complete metadata, confirming exactly where the source is.

### The New Content Dump
A new research group finishes a year of articles and needs to add them all to DOAJ. They use `bulk_create_articles` instead of submitting records one by one, making the process quick and efficient.

## Benefits

- Save time on discovery: Instead of manually browsing, you just ask for journals about 'Quantum Computing,' and the agent finds them using the `search_journals` tool.
- Handle bulk updates: If you're a publisher, you don't upload files; you use `bulk_create_articles` to process hundreds of records in one go.
- Deep metadata retrieval: Need all details for one piece? Use `get_article` with the ID and pull every linked author, abstract, and publication date instantly.
- Full lifecycle control: You can not only search but also manage content. Tools like `create_article` and `update_article` let you maintain your scholarly catalog directly through your AI client.
- Complex filtering without effort: Forget simple keyword boxes. The MCP supports advanced queries, letting you target fields like `bibjson.title:` for highly specific results.

## How It Works

The bottom line is, you bypass manual database lookups entirely; everything happens through conversation commands.

1. Subscribe to the DOAJ MCP and provide your API key if you plan to manage publisher data.
2. Tell your AI client what you need—for instance, 'Find journals about genetics from 2024' or 'Delete article ID X'.
3. Your agent sends a structured request, gets the results back, and presents the actionable metadata directly in your chat.

## Frequently Asked Questions

**How do I search for journals using the DOAJ MCP?**
You use the `search_journals` tool with advanced filters like title or ISSN. This allows you to target specific metadata fields, getting much better results than a general web search.

**Does `get_article` retrieve everything about an article?**
Yes. It pulls the full metadata record for a single DOAJ article using its ID. This includes author lists, abstract text, and all linked publication data.

**What's the difference between `search_articles` and `get_article`?**
`search_articles` is for finding a group of articles based on criteria. `get_article` requires you to already know the unique ID and pulls back all details for just that one article.

**Can I use this MCP if I'm not a publisher?**
Absolutely. You can still perform powerful searches using `search_articles` and `search_journals`, even without the API key needed for publishing tools like `create_article`.

**How do I use the `create_article` tool if I don't have an API key?**
You must include a publisher API key. The `create_article` tool modifies live DOAJ records, so it requires authentication to ensure that only verified publishers can write new entries.

**What are the best practices for using `bulk_create_articles`?**
Keep batch sizes manageable. The documentation recommends staying around 600KB per upload. Sending extremely large files increases the risk of failure and slows down processing.

**What kind of filter syntax does `search_journals` accept?**
It accepts Elasticsearch query string syntax. You can use fielded searches, for example, using `bibjson.title:"Journal Name"` to narrow results by specific metadata fields.

**If I need to update a journal's directory information, should I use `update_article` or `create_application`?**
You should use `create_application`. This tool is specifically for submitting official update requests concerning existing journals, which keeps the central directory information current.

**Can I search for journals using specific fields like title or ISSN?**
Yes! Use the `search_journals` tool with Elasticsearch query string syntax. For example, you can query `bibjson.title:"Journal of Science"` or `bibjson.pissn:"1234-5678"` to find exact matches.

**How do I submit a batch of new articles at once?**
You can use the `bulk_create_articles` tool. It allows you to submit a JSON array of article objects asynchronously. This is ideal for publishers managing high volumes of data.

**Is it possible to request updates for an existing journal listing?**
Yes, publishers can use the `create_application` tool to submit an update request for an existing journal by providing the updated metadata and referencing the current journal ID.