@meterapp/geocode
v0.2.6
Published
Geocode AI from your terminal and your agents: administrative boundaries (search, polygons, reverse, children, contains, union) and natural-language areas. Also a stdio MCP server.
Maintainers
Readme
@meterapp/geocode
Website: geocodeai.dev · Get a free API key
Geocode AI from your terminal and your agents: look up any administrative boundary in the world (country → state → county → city → district, plus postcodes) by name or point and get its polygon, or describe an area in plain language and get one validated polygon back.
npx @meterapp/geocode search "Alameda County"
npx @meterapp/geocode get r396499 --format geojson > alameda.geojson
npx @meterapp/geocode reverse 37.8 -122.27Searching is free and works without a key. For everything else, sign in once:
npx @meterapp/geocode login # opens the browser, saves an API key to ~/.config/geocode
npx @meterapp/geocode whoamiCommands
The commands are generated at runtime from the server's op catalog (GET /v1),
so new API features show up here without an update. geocode --help lists
them; geocode <command> --help shows one command's options, cost and REST route.
| Command | What |
|---|---|
| search "<place>" | Find boundaries by name |
| get <id> | A boundary with its polygon (--format geojson) |
| export <id> [--format …] | A boundary in a file format |
| reverse <lat> <lon> | Every boundary containing a point |
| children <id> | Boundaries inside a boundary |
| contains <id> --points '[[lon,lat],…]' | Which points fall inside a boundary |
| union <id> <id> … | Several boundaries as one shape |
| area "<description>" | A polygon from a plain-language description |
| orgs, members, teams | Your organizations and role in each, who is in the organization, its teams |
| files, save <boundary id>, share <file id> --team <slug> | The organization's file library: list, save a boundary file, share it with a team or person |
| subscription | Plan, renewal date and status |
| <op-name> [--field value] | Any op, e.g. geocode list-children --id r396499 |
| call <op> --input '<json>' | Any op with JSON input (--input - reads stdin) |
| ops | Every op the server has, with its cost |
| login, logout, whoami | Sign in with a device code, or login --key geo_… |
| keys, keys create <name>, keys revoke <id> | API keys |
| usage [--days 30] | Daily usage by op |
| pricing, account | Plans with prices, limits and features (no key); the plan, renewal and use of every limit (--json for agents) |
| upgrade --plan pro, upgrade --plan business, billing | Open Stripe Checkout for a plan (works before signup), or the billing portal (a person pays; agents get the link as JSON) |
| feedback, review, reviews | The feedback board (request features, report issues, vote, comment) and reviews |
| install [claude codex cursor] [--stdio] [--dry-run] | Add the MCP server to your coding agents |
| mcp | A stdio MCP server for hosts that launch a command |
Output is JSON on stdout (indented in a terminal, compact in a pipe); errors are on stderr with exit codes 2 (usage), 3 (auth), 4 (quota or rate limit), 1 (other).
Every op
Each op is a command of the same name (geocode get-file --id … or
geocode get_file --id …); geocode ops prints the live list with costs.
| Area | Ops |
|---|---|
| Boundaries | search_boundaries, get_boundary, export_boundary, reverse_boundaries, list_children, contains_points, union_boundaries |
| Areas | create_area |
| Account | get_account, update_profile, get_usage, get_email_preferences, update_email_preferences |
| API keys | list_api_keys, create_api_key, revoke_api_key |
| Organizations | list_orgs, list_members, list_teams, list_invites, list_audit_log |
| File library | save_file, list_files, get_file, update_file, delete_file, share_file, unshare_file |
| Billing | get_pricing, get_subscription, create_checkout_link, get_billing_link |
| Feedback and reviews | list_feedback, get_feedback, list_my_feedback, request_feature, report_issue, upvote_feedback, remove_feedback_vote, comment_on_feedback, list_reviews, get_my_review, submit_review |
Agents
npx @meterapp/geocode install # Claude Code, Codex and Cursor
claude mcp add --transport http geocode https://geocodeai.dev/mcp --header "Authorization: Bearer $GEOCODE_API_KEY"Or the plugin for Claude Code and Codex: /plugin marketplace add MeterApp/geocode-plugins.
Configuration: GEOCODE_API_KEY, GEOCODE_BASE_URL, or --api-key / --base-url.
