Repository avatar
Monitoring
v1.1.2
active

georgia-mcp

io.github.ABGEO/georgia-mcp

An MCP server for Georgian public data, read from the organizations that publish it.

Documentation

Georgia MCP

Georgia MCP

Georgia's public data, inside your chat.

An MCP server for Georgian public data, read from the organizations that publish it.
Ask Claude, ChatGPT, or any MCP client in your own words.

CI Coverage Images Go version License: GPL v3 OpenSSF Scorecard OpenSSF Best Practices MCP Registry Listed on mcpservers.org

Website · Claude directory · Install · Tools · Report a bug

Why

Georgian public data is spread over many sites: the National Bank, each commercial bank, each fuel company, the Tbilisi Transport Company. Georgia MCP reads them for your model, so you can ask one question and get one answer.

  • Read-only. Every tool reads public data and changes nothing.
  • Sourced. Every answer names its source and the time of the data, so you can check it.
  • Exact. A rate or a price is a decimal string, never a rounded float.
  • No account. The hosted server needs no sign-in and no key.

What you can ask

What is the official USD to GEL rate today?

Which bank buys euros at the best rate right now?

Where is diesel cheapest in Georgia?

When does the next bus reach my stop?

Which TBC Bank card offers give a discount at restaurants?

SubjectSources
Exchange ratesNational Bank of Georgia, Bank of Georgia, TBC Bank, Liberty Bank, Terabank, Halyk Bank, Basisbank, Credo Bank, Rico Credit, Scapp, MJC, Inteli Express, MBC, Crystal, Kursi.ge
Fuel pricesSOCAR, Wissol, Gulf, Rompetrol, Lukoil, Portal, Connect, Neogas
Card offersBank of Georgia, TBC Bank, Liberty Studio
Tbilisi public transportTbilisi Transport Company
Postal codesGeorgian Post
CinemasCavea
Statistics and inflationGeostat

Install

The hosted server runs at:

https://geo-mcp.abgeo.cloud/mcp

Claude

Open Georgia MCP in the Claude directory and select Connect. It then works on claude.ai, Claude Desktop, and the Claude mobile apps.

Claude Code

If you added Georgia MCP on claude.ai, it is already in Claude Code under the same account. Run /mcp to check: it is listed as claude.ai Georgia MCP. To add it yourself, for example when you sign in with an API key, run:

claude mcp add --transport http georgia-mcp https://geo-mcp.abgeo.cloud/mcp

ChatGPT

Open Plugins, select +, then Add custom MCP server. Paste the address above and set the authentication to None. A custom server needs a paid plan.

Cursor

Add this to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "georgia-mcp": { "url": "https://geo-mcp.abgeo.cloud/mcp" }
  }
}

VS Code

Add this to .vscode/mcp.json in your project:

{
  "servers": {
    "georgia-mcp": { "type": "http", "url": "https://geo-mcp.abgeo.cloud/mcp" }
  }
}

Run it yourself

With Docker:

docker run -p 8080:8080 ghcr.io/abgeo/georgia-mcp

Then connect your client to http://localhost:8080/mcp.

With a release binary, over stdio: download the archive for your system from the latest release, unpack it, and put georgia-mcp on your PATH. Then run:

claude mcp add georgia-mcp -- georgia-mcp stdio

Each release signs checksums.txt with cosign and carries build provenance. Each check also proves that the workflow of this repository built the file from the tag. To check an archive, run:

gh attestation verify georgia-mcp_<version>_linux_amd64.tar.gz --owner ABGEO \
  --signer-workflow ABGEO/georgia-mcp/.github/workflows/release.yml

Or check the checksums with cosign, then the archive:

cosign verify-blob checksums.txt --bundle checksums.txt.sigstore.json \
  --certificate-identity "https://github.com/ABGEO/georgia-mcp/.github/workflows/release.yml@refs/tags/v<version>" \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com
sha256sum --ignore-missing -c checksums.txt

To check an image:

cosign verify ghcr.io/abgeo/georgia-mcp:<version> \
  --certificate-identity "https://github.com/ABGEO/georgia-mcp/.github/workflows/images.yml@refs/tags/v<version>" \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

Each archive and each image comes with an SPDX SBOM.

With Go, over stdio:

go install github.com/abgeo/georgia-mcp/cmd/georgia-mcp@latest
claude mcp add georgia-mcp -- georgia-mcp stdio

Three sources need a key, so they are off by default. To turn one on, set its switch to true and its key:

SourceSwitchKey
Tbilisi Transport CompanyGEOMCP_TRANSIT_TTC_ENABLEDGEOMCP_TRANSIT_TTC_API_KEY
TBC Bank developer APIGEOMCP_RATES_TBC_ENABLEDGEOMCP_RATES_TBC_API_KEY
Credo Bank rates APIGEOMCP_RATES_CREDO_ENABLEDGEOMCP_RATES_CREDO_API_KEY

configs/.env.example lists every setting.

Tools

ToolAnswers
rates_get_official_ratesThe official rate of the lari for today or a past date.
rates_list_official_historyThe official rate of one currency for each day of a period.
rates_get_commercial_ratesThe buy and sell rates of the commercial banks right now.
fuel_get_pricesToday's fuel prices of each company, grouped by grade.
offers_search_offersThe current card offers of the banks.
offers_get_offerThe full terms of one card offer.
transit_search_stopsStops of Tbilisi by name or code.
transit_list_nearby_stopsStops near a point, nearest first.
transit_list_arrivalsThe next vehicles at a stop, live.
transit_search_routesRoutes of Tbilisi by number or name.
transit_get_routeOne route with each direction and every stop.
transit_get_timetableThe planned departures of a route from one stop.
transit_search_placesA place in Tbilisi by name or address.
transit_plan_tripA trip by public transport between two points of Tbilisi.
postal_search_codesThe postal code of an address, a street, a town, or a village.
cinema_list_cinemasThe open cinemas of Cavea.
cinema_list_moviesThe movies of Cavea, now showing or coming soon.
cinema_search_moviesThe movies of Cavea by a part of the English name.
cinema_list_sessionsThe sessions of one date, with the prices and the occupancy.
cinema_get_seat_mapThe seats of one session, with the free seats of each class.
stats_search_tablesThe statistical tables of Geostat by words of the title or the folder.
stats_get_tableOne table of Geostat with its dimensions and their values.
stats_get_cellsThe figures of one table of Geostat for a selection.
stats_get_inflationThe inflation of Georgia for a month, a city, and a price group.
air_get_qualityThe newest air quality readings of a city, a station, or every station.
air_list_historyThe hourly air quality readings of one station over at most 7 days.

The website shows the input and a real output of each tool.

Development

Georgia MCP follows spec driven development. The code comes from the documents in docs/specs/. Read that guide before you open a pull request.

You need Go (the version in go.mod) and Task.

cp configs/.env.example .env  # then fill in the keys
task run                      # serve over HTTP on :8080
task lint test build          # check the server
task test:live                # run the tests against the real sources

Each vendor client is a package under pkg/<vendor> that another project can import. task --list shows every task.

Contributing

Bug reports and ideas are welcome in issues, and questions in Q&A. To add a source or a tool, open an issue first: each one starts as a requirements document. Read the contributing guide before you open a pull request.

Privacy and security

The hosted server keeps an access log and a record of each tool call, never the input of a call. Read the privacy policy and the terms of service.

To report a vulnerability, follow the security policy. Please don't open a public issue.

Disclaimer

Georgia MCP is not an official service. It is not affiliated with the National Bank of Georgia or any bank, fuel company, transport operator, postal operator, cinema chain, or statistics office it reads. The data belongs to its publishers and can be late or wrong. Check with the source before you decide.

Author

Made with ❤️ in Georgia by Temuri Takalandze (ABGEO).

License

Georgia MCP is free software under the GNU General Public License v3.0.

OCI
ghcr.io/abgeo/georgia-mcp:1.1.2
Install Command
docker pull ghcr.io/abgeo/georgia-mcp:1.1.2:undefined
Runtime: docker

Remote