Country Explorer Athena Agent
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., "@Country Explorer Athena Agentget info about Japan"
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.
Country Explorer Athena Agent
An Athena-compatible MCP agent and interactive dashboard for exploring country data. The server exposes a get_country_info tool, serves an embeddable country dashboard widget, and includes HTTP endpoints that make the same data available in a browser.
What it does
Looks up countries by common name, official name, ISO code, alternate spellings, translations, and native names.
Returns structured demographic, geographic, currency, language, flag, border, map, and Gini-index data.
Serves a glassmorphism-style country dashboard at
/and/country-explorer.html.Supports both MCP transports:
Streamable HTTP at
/mcpSSE at
/ssewith messages posted to/messages
Provides a simple health check at
/health.Uses local datasets (
world-countriespluspopulations.json) for fast country lookup without relying on client-side CORS.
Related MCP server: Country MCP Server
Tech stack
Node.js + Express
Model Context Protocol SDK
world-countriesfor country metadataStatic population enrichment from
populations.jsonPlain HTML/CSS/JavaScript dashboard in
public/country-explorer.html
Quick start
npm install
npm startThe server defaults to port 8080:
http://localhost:8080You can override the port with an environment variable:
PORT=3000 npm startAPI endpoints
Browser dashboard
GET /
GET /country-explorer.htmlCountry lookup JSON
GET /api/country?name=CanadaExample:
curl "http://localhost:8080/api/country?name=Canada"Health check
GET /healthReturns:
{
"status": "ok",
"activeSessions": 0
}MCP tool
The agent exposes one MCP tool:
get_country_info
Fetches country details and returns both text output and structured content for the dashboard widget.
Input schema:
{
"country": "Canada"
}The structured response includes fields such as:
nameofficialNamecapitalpopulationpopulationRawregionsubregionareaflagEmojiflagUrlcurrencieslanguagesginiborderslandlockedlatlngmapLink
MCP connection
Streamable HTTP
Use /mcp for stateless MCP clients that support streamable HTTP.
http://localhost:8080/mcpSSE
Use /sse for SSE clients. Client messages are posted to /messages with the session ID provided by the SSE transport.
http://localhost:8080/sseDeployment
The project includes vercel.json for Vercel deployment with index.js as the serverless entry point.
vercel deployProject structure
.
├── index.js # Express server and MCP agent
├── package.json # Node scripts and dependencies
├── package-lock.json # Locked dependency versions
├── populations.json # Static population lookup by ISO-2 code
├── public/
│ └── country-explorer.html # Interactive dashboard widget
└── vercel.json # Vercel routing/build configNotes
The dashboard can run inside an Athena/MCP app bridge through
window.openai.callTool.When no bridge is present, the page injects a mock
window.openaiinterface that calls the local/api/countryendpoint, so it also works directly in a browser.Some Gini data is manually enriched for common countries in
index.js; countries without a local Gini entry returnN/A.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/ImMalkah/country-explorer-athena-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server