OpenArchives.gr MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenArchives.gr MCP Serversearch for doctoral theses about artificial intelligence"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenArchives.gr MCP Server
A Model Context Protocol (MCP) server for accessing the OpenArchives.gr Greek scientific content aggregator. This server allows AI assistants to search and retrieve academic documents, theses, articles, and other scholarly content from Greek institutions.
Features
Search Archives: Search through OpenArchives.gr's extensive collection of Greek scientific content
Document Metadata: Retrieve full metadata for documents in JSON, XML, or HTML formats
Document Types: Get available document types for filtering searches
Collection Browsing: Browse available collections and data providers
Multilingual Support: Support for both Greek and English interfaces
Pagination: Handle large result sets with pagination support
Related MCP server: academic-search-mcp
Prerequisites
API Key: You need an API key from OpenArchives.gr. Request one at: https://www.openarchives.gr/aggregator-openarchives/portal/interoperability
Node.js: Version 18 or higher
MCP-compatible client: Such as Claude Desktop, Cline, or any other MCP client
Installation
Navigate to the project directory:
cd "F:\MCP servers\openarchives-gr-mcp-server"Install dependencies:
npm installSet up your API key as an environment variable:
set OPENARCHIVES_API_KEY=your-api-key-hereOr create a .env file:
echo OPENARCHIVES_API_KEY=your-api-key-here > .envBuild the project:
npm run buildConfiguration
For Claude Desktop
Add the server to your Claude Desktop configuration file:
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"openarchives-gr": {
"command": "node",
"args": ["F:/MCP servers/openarchives-gr-mcp-server/dist/index.js"],
"env": {
"OPENARCHIVES_API_KEY": "your-api-key-here"
}
}
}
}For other MCP clients
Refer to your MCP client's documentation for configuration instructions.
Available Tools
1. search_archives
Search for documents in the OpenArchives.gr collection.
Parameters:
query(optional): Search termekt_type(optional): Document type filter (e.g., "Άρθρο", "Διδακτορική διατριβή")page(optional): Page number for pagination (default: 1)preferredLanguage(optional): "el" for Greek or "en" for English (default: "el")enableURITypeValues(optional): Use URI values for document types (default: false)limit(optional): Maximum results to return (default: 50)
Example:
{
"query": "μηχανική μάθηση",
"ekt_type": "Διδακτορική διατριβή",
"preferredLanguage": "el",
"limit": 10
}2. get_document_metadata
Get full metadata for a specific document.
Parameters:
uri(required): Document URI from search resultsformat(optional): "json", "xml", or "html" (default: "json")
Example:
{
"uri": "https://www.openarchives.gr/aggregator-openarchives/edm/eureka/000008-10184_8264",
"format": "json"
}3. get_document_types
Get available document types for filtering.
Parameters:
language(optional): "el" for Greek or "en" for English (default: "el")
4. browse_collections
Browse available collections and data providers.
Parameters:
provider(optional): Filter by specific provider name
Usage Examples
Here are some example queries you can ask an AI assistant using this MCP server:
Basic Search
"Search for articles about artificial intelligence in OpenArchives.gr"
Filtered Search
"Find doctoral dissertations about machine learning written in Greek"
Specific Document
"Get the full metadata for this document: [URI] in JSON format"
Browse by Institution
"Show me collections from the National Technical University of Athens"
Document Types
The server supports searching for various document types including:
Greek Terms:
Άρθρο (Article)
Διπλωματική εργασία (Master's thesis)
Διδακτορική διατριβή (Doctoral dissertation)
Βιβλίο (Book)
Κεφάλαιο βιβλίου (Book chapter)
Πρακτικά συνεδρίου (Conference proceedings)
English Terms:
Article
Master thesis
Doctoral thesis
Book
Book chapter
Conference proceedings
Data Providers
OpenArchives.gr aggregates content from major Greek institutions including:
National Documentation Centre (EKT)
National Library of Greece
National Technical University of Athens
University of Athens
Aristotle University of Thessaloniki
And many more academic institutions
Error Handling
The server includes comprehensive error handling for:
Missing API key
Network connectivity issues
Invalid document URIs
API rate limiting
Malformed requests
Development
To run in development mode:
npm run devTo build:
npm run buildLicense
MIT License - feel free to modify and distribute as needed.
Support
For issues related to:
This MCP server: Open an issue in the project repository
OpenArchives.gr API: Contact the OpenArchives.gr team
API key requests: Use their official form at the interoperability page
Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.
Available Tools
4 toolsbrowse_collectionsB
Browse available collections and providers in OpenArchives.gr
| Name | Required | Description | Default |
|---|---|---|---|
| provider | No | Filter by specific data provider |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states 'Browse,' implying a read-only operation, but does not explain output format, pagination, data freshness, or authentication requirements. Critical traits are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no waste. It is concise and to the point, but could include more information (e.g., output hint) without becoming verbose. The brevity does not harm comprehension but limits completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple schema (1 optional param), no output schema, and presence of related sibling tools, the description fails to explain what the output looks like (list of collections? providers? both?) or how it relates to search and metadata tools. An agent lacks sufficient context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers the only parameter 'provider' with a clear description ('Filter by specific data provider'). The tool description does not add additional meaning beyond the schema, but since schema description coverage is 100%, a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Browse'), the resource ('available collections and providers'), and the scope ('OpenArchives.gr'). It distinguishes itself from sibling tools like search_archives (search) and get_document_metadata (metadata), as browsing collections/providers is a distinct operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., when to browse vs search). The description does not mention any prerequisites, use cases, or exclusions. An agent would have no context to choose this tool over search_archives or get_document_types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_document_metadataB
Get full metadata for a specific document using its URI
| Name | Required | Description | Default |
|---|---|---|---|
| uri | Yes | The HTTP URI of the document from search results | |
| format | No | Metadata format to retrieve | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It only states the function without indicating read-only nature, side effects, permissions, or performance implications. The lack of transparency leaves the agent uninformed about safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, efficiently conveying the core purpose. However, it could include more useful information without being verbose, so it's slightly above average but not perfect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and the need for the agent to understand what 'full metadata' entails, the description is incomplete. It does not explain the return structure, potential limitations, or what data fields to expect, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains both parameters fully. The description adds no semantic value beyond what the schema provides, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'get full metadata' and specifies the resource 'a specific document using its URI'. This distinguishes it from sibling tools like 'browse_collections' which are for browsing, and 'search_archives' which are for searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or scenarios. The description is too minimal to help an agent choose this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_document_typesA
Get available document types for filtering searches
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language for type names (el for Greek, en for English) | el |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description should fully disclose behavior. It only states the basic function, omitting details like authentication, rate limits, or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words; front-loaded with the core action and context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimally adequate for a simple tool with one optional parameter, but lacks details about return structure or behavior when language is unsupported.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description in the schema. The tool description adds no additional meaning beyond the schema's explanation of the language parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves document types and specifies their use for filtering searches, distinguishing it from sibling tools like browse_collections or search_archives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly indicates use for filtering searches, but no explicit guidance on when to use vs alternatives or exclusions for specific contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_archivesB
Search for documents in OpenArchives.gr Greek scientific content aggregator
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| limit | No | Maximum number of results to return (default: 50) | |
| query | No | Search query term (optional - if not provided, returns all results) | |
| ekt_type | No | Document type filter (e.g., "Άρθρο", "Διπλωματική εργασία", "Διδακτορική διατριβή") | |
| preferredLanguage | No | Preferred language for results (el for Greek, en for English) | el |
| enableURITypeValues | No | Whether to use URI values for ekt_type parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as pagination behavior, default sorting, or whether the search is free-text or filtered. The agent gets minimal insight into what happens beyond the parameter descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is concise and front-loaded with the core action. However, it could be slightly more structured to include usage context, but overall it earns its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no output schema, and no annotations, the description is minimally adequate. It names the aggregator but does not explain expected response format, language handling, or how pagination interacts with queries. Some gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 6 parameters have schema descriptions (100% coverage), so the description adds no additional semantic value beyond the schema. Per rules, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for documents in a specific Greek scientific content aggregator (OpenArchives.gr). It directly differentiates from sibling tools which focus on collections, metadata, or types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like browse_collections or get_document_metadata. The description does not specify use cases or exclusions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: browsing collections, searching archives, getting document types, and retrieving metadata. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., browse_collections, get_document_metadata). No deviations.
With 4 tools, the server is well-scoped for its purpose of searching and exploring Greek scientific content. Each tool serves a necessary function without redundancy.
Covers key operations: browsing collections, searching, filtering by document type, and retrieving metadata. Missing a tool to list documents within a collection, but search can compensate. Minor gap.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
The only MCP server for Arabic academic research — search, read & cite Arabic + English papers.
MCP server for Open Archives: Dutch genealogical records and historical page transcriptions.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for searching and retrieving arXiv papers with full-text PDF extraction.52MIT
- FlicenseNot gradedqualityCmaintenanceMCP server for academic research using the OpenAlex API, enabling article search, details retrieval, and author profile lookup.
- FlicenseAqualityDmaintenanceMCP server for querying TÜBİTAK TR Dizin academic database, enabling search of publications, journals, authors, and institutions without an API key.9
- AlicenseNot gradedqualityCmaintenanceMCP server for searching, downloading, and reading academic papers from multiple sources such as arXiv, Google Scholar, and Elsevier.6MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ispyridis/openarchives-gr-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server