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.
- 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
- 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
- Navigate to the project directory:
cd "F:\MCP servers\openarchives-gr-mcp-server"- Install dependencies:
npm install- Set 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 > .env- Build the project:
npm run buildAdd 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"
}
}
}
}Refer to your MCP client's documentation for configuration instructions.
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
}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"
}Get available document types for filtering.
Parameters:
language(optional): "el" for Greek or "en" for English (default: "el")
Browse available collections and data providers.
Parameters:
provider(optional): Filter by specific provider name
Here are some example queries you can ask an AI assistant using this MCP server:
"Search for articles about artificial intelligence in OpenArchives.gr"
"Find doctoral dissertations about machine learning written in Greek"
"Get the full metadata for this document: [URI] in JSON format"
"Show me collections from the National Technical University of Athens"
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
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
The server includes comprehensive error handling for:
- Missing API key
- Network connectivity issues
- Invalid document URIs
- API rate limiting
- Malformed requests
To run in development mode:
npm run devTo build:
npm run buildMIT License - feel free to modify and distribute as needed.
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
Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.