Georgia MCP

io.github.ABGEOPublished by GitHub account ABGEOv1.1.2Updated Nov 7, 2026

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

VerifiedStreamable HTTPWeb executableLocation & LifestyleFinanceData & Analytics

Overview

AI-generated overview

Read-only MCP server for Georgian public data: exchange rates, fuel prices, Tbilisi transit, postal codes, cinema, statistics and air quality.

What you can do
  • Look up official National Bank of Georgia rates for a date or a period, and commercial bank buy/sell rates
  • Compare current fuel prices by company and grade, and search bank card offers with their full terms
  • Find Tbilisi transport stops, routes, timetables and live arrivals, and plan trips between two points
  • Resolve postal codes for an address, street, town or village
  • Browse Cavea cinemas, movies, sessions and seat maps with prices
  • Search Geostat tables, read their figures and inflation, and check air quality readings and history
When to use it
Useful when you need current or historical Georgian data in one place: converting lari amounts, comparing banks or fuel stations, planning a Tbilisi trip, finding a postal code, checking cinema sessions, or pulling official statistics and inflation figures.
Requirements
Works as a hosted remote endpoint with no sign-in or key, or locally via Docker, a release binary over stdio, or Go. Three optional sources are off by default and need a switch set to true plus a key: GEOMCP_TRANSIT_TTC_ENABLED with GEOMCP_TRANSIT_TTC_API_KEY, GEOMCP_RATES_TBC_ENABLED with GEOMCP_RATES_TBC_API_KEY, and GEOMCP_RATES_CREDO_ENABLED with GEOMCP_RATES_CREDO_API_KEY. Network access to the source sites is required.
Before you install
All tools are described as read-only and reserve nothing, so no data is changed. The hosted server keeps an access log and a record of each tool call, though not call inputs. Data comes from third-party publishers and may be late or wrong, and the service is unofficial and unaffiliated with those sources. Enabling the optional sources requires supplying API keys as environment variables.

Installation

In SourceWeft

  1. Open Georgia MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.ABGEO%2Fgeorgia-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

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

README

[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:

text
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:

sh
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:

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

VS Code

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

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

Run it yourself

With Docker:

sh
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:

sh
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:

sh
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:

sh
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.comsha256sum --ignore-missing -c checksums.txt

To check an image:

sh
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:

sh
go install github.com/abgeo/georgia-mcp/cmd/georgia-mcp@latestclaude 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.

sh
cp configs/.env.example .env  # then fill in the keystask run                      # serve over HTTP on :8080task lint test build          # check the servertask 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.

Source: README.md at commit 02afdd7

Tools

26

air_get_quality

Get the air quality in Georgia

Returns the newest air quality readings of the automatic stations of the National Environmental Agency of Georgia (NEA), for a city, one station, or every station. Each reading gives PM10, PM2.5, NO2, O3, SO2, or CO, its concentration (µg/m³, CO in mg/m³), its hour, and its level: good, fair, moderate, poor, or very_poor. A station level is its worst reading. Stations come worst first. A reading older than 24 hours is left out. The NEA stamps some readings a few hours ahead of the clock: the time is as published. Data from the NEA.

Parameterscitylimitstationlanguage

air_list_history

List the air quality history of a station

Returns the hourly readings of one station of the National Environmental Agency of Georgia (NEA) over at most 7 days of the last 7, newest first, with the level of each reading. The default is the last 24 hours. Call air_get_quality first to find the station code. The NEA stamps some readings a few hours ahead of the clock: the time is as published. Data from the NEA.

Parameterstofromlimitstationrequiredlanguagepollutant

cinema_get_seat_map

Get the seat map of a session of Cavea

Returns the seats of the hall of one session of Cavea that has not started: each row, each seat with its class, a mark for a taken seat, and a mark for special needs. Gives the count of free seats and the price in lari of each seat class. The server reads the map at each call. It reserves no seat. A person buys the ticket on cavea.ge. Data from the web site of Cavea, cavea.ge.

Parameterssessionrequiredlanguage

cinema_list_cinemas

List the cinemas of Cavea

Lists the open cinemas of Cavea, in Tbilisi and Batumi. Returns the code, the name, the city, and the address of each cinema. Use the code in cinema_list_sessions. Data from the web site of Cavea, cavea.ge.

Parameterslanguage

cinema_list_movies

List the movies of Cavea

Lists the movies that Cavea shows now, or the movies coming soon. Returns the code, the name, the genres, the duration in minutes, the age rating, the premiere, the directors, the actors, and a description of each movie. Use the code in cinema_list_sessions. Data from the web site of Cavea, cavea.ge.

Parameterslimitstatuslanguage

cinema_list_sessions

List the sessions of Cavea

Lists the sessions of the movies of Cavea on one date that have not started, in the order of the start time. Narrow the list by a movie, a cinema, an audio language, or a format. Returns the cinema, the hall, the start time, the languages, the formats, the price in lari, and the occupancy level of each session. With a movie, each session has the price of each seat class. With no movie, it has the price of the class Standard. Use the session code in cinema_get_seat_map. Data from the web site of Cavea, cavea.ge.

Parametersdatelimitmoviecinemaformatlanguageaudio_language

cinema_search_movies

Search the movies of Cavea

Finds the movies of Cavea, now showing or coming soon, by a part of the English name. Give the text in English: Cavea does not match a Georgian name. Returns the code, the name, the status, the duration in minutes, and the age rating of each movie. Data from the web site of Cavea, cavea.ge.

Parameterslimitqueryrequiredlanguage

fuel_get_prices

Fuel prices of Georgian fuel companies

Returns the current fuel prices of Georgian fuel companies: the price in GEL of one unit of each product. Use it for the price of petrol, diesel, or gas at a company today, or to compare companies. Each product has a grade that every company shares: regular (litre), premium (litre), super (litre), super_100 (litre), diesel (litre), cng (cubic_metre), lpg (litre), other (litre). price: the price in GEL of one unit at a station with an attendant. self_service_price: the price in GEL of one unit at a self-service station of the same company. A product with no self_service_price has none. The fuel companies of this server: connect (Connect, publishes no effective date), gulf (Gulf), lukoil (Lukoil), neogas (Neogas, publishes no effective date), portal (Portal, publishes no effective date), rompetrol (Rompetrol, publishes no effective date), socar (SOCAR, publishes no effective date), wissol (Wissol). The prices are of today. The tool has no history.

Parametersgradeslanguagecompanies

offers_get_offer

Terms of a card offer

Returns the full conditions of one offer of a Georgian bank. Use the bank and the id from offers_search_offers. Give the person the url of the offer with the conditions.

Parametersidrequiredbankrequiredlanguage

offers_search_offers

Card offers of Georgian banks

Finds the current offers that Georgian banks give to card holders at partners: discounts, cashback, and points. Filters by bank, customer tier, category, benefit kind, card, and period. For "this month", give the first and the last date of the month. When a bank has a next_offset, call again with that offset to read more. The benefit is the text of the bank. Compare the banks by reading it. Give the person the url of each offer that you name. benefit is the text of the bank. The server reads no number from it: read the percent, the cap, and the conditions from the text. kinds come from a field of the bank, and other means that the bank states none. tiers: standard is every customer, premium the premium package (SOLO at BOG), private the private banking (Wealth Management at BOG), youth the pupils and the students. The banks of this server: bog (Bank of Georgia), liberty (Liberty Bank), tbc (TBC Bank). The card codes of each bank: bog: amex (Amex), mastercard (Mastercard), mastercard_world_elite (Mastercard World Elite), plus (PLUS), scool_card (sCool Card), solo (SOLO), student_card (Student Card), super_plus (Super PLUS), teacher_card (Teacher Card), visa (Visa), visa_infinite (Visa Infinite), visa_platinum (Visa Platinum), visa_signature (Visa Signature); liberty: mastercard (Mastercard), top_card_black (Top|Card Black Edition), visa (Visa); tbc: concept_card (TBC Concept Card), credit_card (Credit Card), crypto (Crypto), installment (Installment), mastercard (Mastercard), pay_later (Pay Later), pupil_card (Pupil's Card), tbc_card (TBC Card), travel_card (Travel Card), visa (Visa).

Parameterstofrombankscardskindslimitquerytiersoffsetlanguagecategories

postal_search_codes

Search the postal codes of Georgia

Finds the postal codes of Georgian Post for an address, a street, a town, or a village of Georgia, by text in Georgian or English. Returns each matching address with its 4-digit postal code and its district. Georgian Post gives a postal code for each street in Tbilisi, Batumi, and Kutaisi only. For another town or a village, search its name. Data from the web page of Georgian Post.

Parameterslimitqueryrequiredlanguage

rates_get_commercial_rates

Commercial exchange rates of Georgian banks

Returns the current commercial exchange rates of Georgian banks: the prices in GEL at which a bank buys and sells one unit of a currency. Use it for the price of a currency at a bank today, or to compare banks. Ask for 1 to 10 currencies. buy: the price in GEL that the bank pays when you sell it one unit. sell: the price in GEL that the bank asks when you buy one unit from it. The banks of this server: basisbank (Basisbank), bog (Bank of Georgia), credo (Credo Bank), crystal (Crystal, a microfinance organization), halyk (Halyk Bank), inteli (Inteli Express, a microfinance organization), kursi (Kursi.ge, an online exchange bureau), liberty (Liberty Bank), mbc (MBC, a microfinance organization), mjc (MJC, a microfinance organization), rico (Rico Credit, a microfinance organization), scapp (Scapp, a microfinance organization), tbc (TBC Bank), terabank (Terabank). The list gives the kind of each one that is not a bank. The rates are of today. The tool has no history.

Parametersbankscurrenciesrequired

rates_get_official_rates

Official exchange rates of the NBG

Returns the official exchange rates of the lari that the National Bank of Georgia (NBG) sets, for one date. Use it for the rate of a currency today or on a past date, for a contract, an invoice, or a tax form. Each rate is the price in GEL of `quantity` units; `rate_per_unit` is the price of one unit. The NBG publishes the rates of each business day at about 17:00 Tbilisi time, in force from the next day until the next set. A weekend or a holiday returns the set in force on it. The official rate is indicative. It is not the price of a bank.

Parametersdatelanguagecurrencies

rates_list_official_history

Official exchange rate history of the NBG

Returns the official exchange rates of one currency over a period of up to 31 days, as set by the National Bank of Georgia (NBG). Use it for the movement of a currency over a week or a month. The answer holds one point for each set in force in the period, the set in force on the first day included. Each rate is the price in GEL of `quantity` units.

Parameterstorequiredfromrequiredcurrencyrequiredlanguage

stats_get_cells

Get the figures of a statistical table

Returns the figures of one table of Geostat for a selection: value codes, or the last values, for each dimension. A dimension with no selection takes every value. Selects at most 1000 cells. An unpublished figure is null. The title of the table names the unit. Data from Geostat.

Parameterscoderequiredlanguageselection

stats_get_inflation

Get the inflation of Georgia

Returns the inflation of Georgia for one month, in percent: annual (to the same month of the previous year), monthly (to the previous month), the 12 month average, and core inflation. For the whole country, a city, and a price group. The default is the newest published month. Data from the consumer price index of Geostat.

Parametersgroupmonthregionlanguage

stats_get_table

Describe a statistical table of Georgia

Returns the title and the dimensions of one table of Geostat, with the code and the text of each value. Read it before stats_get_cells. The values of a time dimension go from the oldest to the newest. A table has no unit field: the title names it. Data from Geostat.

Parameterscoderequiredlanguage

stats_search_tables

Search the statistical tables of Georgia

Finds the tables of Geostat, the National Statistics Office of Georgia, whose title or folder holds every word of a text: for example prices, salaries, population, GDP, and trade. Returns the code, the title, the folder, and the update date of each table, the newest first. Then call stats_get_table with a code. Data from Geostat.

Parameterslimitqueryrequiredlanguage

transit_get_route

A route of Tbilisi and its stops

Returns a route of the TTC with each direction: its headsign and its stops in order.

Parameterskindrouterequiredlanguage

transit_get_timetable

Timetable of a route at a stop

Returns the planned departure times of one direction of a route of the TTC at one stop, on a date of the current week. A time of 24:00 or later is after midnight, on the next date.

Parametersdatekindstoprequiredrouterequiredlanguagedirection

transit_list_arrivals

Next arrivals at a stop in Tbilisi

Lists the next vehicles of the TTC at a stop: route number, kind, headsign, minutes from as_of, and the expected instant. live is true when the TTC tracks the vehicle; else the time comes from the timetable. With a route, lists the next vehicles of that route only.

Parametersstoprequiredlimitroutelanguage

transit_list_nearby_stops

Stops near a point in Tbilisi

Lists the stops of the TTC within a distance of a point in Tbilisi, nearest first, with the distance in metres. Use transit_search_places to get the coordinates of a place.

Parameterslatrequiredlonrequiredkindlimitlanguageradius_m

transit_plan_trip

Plan a trip by public transport in Tbilisi

Plans a trip by public transport of the TTC in Tbilisi between two points, given as coordinates. Returns up to 3 itineraries with each leg: walk or ride, route, stops, instants, distance in metres. Use transit_search_places to get coordinates.

Parameterstorequireddatefromrequiredtimekindstiminglanguagepreference

transit_search_places

Search places in Tbilisi

Finds places in Tbilisi (addresses, streets, buildings) by text, with their coordinates, for transit_plan_trip and transit_list_nearby_stops. Data from OpenStreetMap through the TTC.

Parameterslimitqueryrequiredlanguage

transit_search_routes

Search the routes of Tbilisi

Finds the routes of the TTC by number or by name. Kinds: bus, minibus, metro, cable_car. With no query, lists every route.

Parameterskindlimitquerylanguage

transit_search_stops

Search the stops of Tbilisi

Finds the stops of the Tbilisi Transport Company (bus stops, metro stations, cable car stations) by name or stop code, in Georgian or English. Use the stop id of the result with transit_list_arrivals or transit_get_timetable.

Parameterskindlimitqueryrequiredlanguage

Version history

1
  1. v1.1.2LatestNov 7, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts