michalisKout/diavgeia-mcp-server
If you are the rightful owner of diavgeia-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Diavgeia MCP Server provides access to Greek government transparency data from the Diavgeia platform, enabling AI assistants to search and retrieve government decisions.
Diavgeia MCP Server
A Model Context Protocol (MCP) server that provides access to Greek government transparency data from the Diavgeia platform. This server enables AI assistants like Claude to search and retrieve Greek government decisions, making public administration data more accessible.
🌟 Features
- Search Government Decisions: Query decisions by keywords, date ranges, organization, and type
- Retrieve Decision Details: Get comprehensive information about specific decisions using their ADA (unique identifier)
- Date-aware Queries: Natural language date parsing (e.g., "last year", "January 2024")
- Organization Search: Find decisions by ministry or government organization
🚀 Quick Start
Local Development
-
Clone the repository
git clone https://github.com/michalisKout/diavgeia-mcp-server.git cd diavgeia-mcp-server -
Install dependencies
pnpm install
3a. Start development server
pnpm dev
Your MCP server will be available at http://localhost:8787/sse
4a. Use mcp inspector More info: https://modelcontextprotocol.io/docs/tools/inspector
3b. Start development server
pnpm build:local
Run locally using stdio transport protocol:
node /Users/michaliskoutridis/dev/projects/ai-agents/diavgeia-mcp-server/dist/local.js
See for the full configuration schema.
🛠 Available Tools
The Diavgeia MCP Server provides two main tools for accessing Greek government transparency data:
search-decisions- Search for government decisions with various filtersget-decision- Retrieve detailed information about a specific decision
For detailed documentation on all available tools, parameters, examples, and best practices, see .
Quick Examples
Search for education decisions in 2024:
{
"q": "εκπαίδευση",
"from_date": "2024-01-01",
"to_date": "2024-12-31"
}
Get details for a specific decision:
{
"ada": "ΨΧ465Κ8Ω-123"
}
📚 Documentation
- - Complete tools documentation
- - Security policy and vulnerability reporting
- - How to contribute
🏗 Project Structure
src/
├── index.ts # Main MCP server entry point
├── api/
│ └── diavgeia.ts # Diavgeia API client
├── modules/
│ ├── decision/ # Decision retrieval tool
│ │ ├── constants.ts
│ │ ├── schema.ts
│ │ └── tool.ts
│ └── search/ # Decision search tool
│ ├── constants.ts
│ ├── schema.ts
│ └── tool.ts
├── types/
│ └── diavgeia.ts # TypeScript type definitions
├── utils/ # Utility functions
└── prompts/
└── template.ts # System prompts
🔧 Development
Prerequisites
- Node.js 23+
- pnpm package manager
🤝 Contributing
We welcome contributions! Please see our for details.
Quick Contribution Steps
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests and linting (
pnpm lint:fix && pnpm type-check) - Commit your changes following conventional commits
- Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Setup
# Install dependencies
pnpm install
# This will automatically set up git hooks via lefthook
# The hooks will:
# - Lint and format code on pre-commit
# - Validate commit messages
# - Run checks before push
Commit Message Convention
This project uses Conventional Commits. All commit messages are validated automatically.
Examples:
git commit -m "feat: add new search filter"
git commit -m "fix: resolve date parsing bug"
git commit -m "docs: update api documentation"
See for detailed guidelines.
Restricted: Deploying
Contributors CANNOT deploy because:
- They don't have
CLOUDFLARE_API_TOKEN - They aren't logged in as the owner
- They don't have permissions to do so
Setting Up Your Own Deployment
If someone wants to deploy their OWN instance:
1. Create Cloudflare Account
- Sign up at https://dash.cloudflare.com/sign-up
- Free tier is available
2. Get Your Account ID
npx wrangler login
npx wrangler whoami
3. Update wrangler.jsonc (Optional)
If deploying to their own account, they should update:
{
"name": "their-own-server-name", // Change this
// account_id will be read from their login
}
4. Deploy
npx wrangler login // Authenticate
pnpm deploy // Deploy to THEIR account
5a. Cloudflare AI Playground
- Go to Cloudflare AI Playground
- Enter your deployed MCP server URL:
your-deployment.workers.dev/sse - Start using the Diavgeia tools directly in the playground!
5b. Claude Desktop Integration
To connect this MCP server to Claude Desktop, add the following to your Claude Desktop configuration:
{
"mcpServers": {
"diavgeia": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-deployment.workers.dev/sse"
]
}
}
}
�📝 License
This project is licensed under the MIT License - see the file for details.
Running Checks Locally
Before opening a PR, you can run checks locally:
# Type check
pnpm run check
# Lint
pnpm run lint
# Build
pnpm run build:local
🙏 Tools and APIs used
- Diavgeia Platform - Greek Government Transparency Initiative
- Model Context Protocol - Standard for AI tool integration
- Cloudflare Workers - Serverless deployment platform
- Smithery - Smithery mcp servers hosting
📬 Support
- 🐛 Bug Reports: Open an issue
- 💡 Feature Requests: Start a discussion
Made with ❤️ for transparency in Greek governance