geolocation-mcp CLAUDE.md

geolocation-mcp CLAUDE.md is an instructions file for coding agents from 7mza/geolocation-mcp. It costs 464 tokens per session, scanned A, original, MIT.

A project guide for geolocation-mcp, a Kotlin and Spring Boot service that provides geolocation features through an MCP server. It documents the required tools, commands, testing, native builds and publishing rules.

In plain words
What is it for?
Use it when setting up the project, running or testing it, checking Kotlin formatting, building a GraalVM native image, scanning dependencies or inspecting the MCP server.
Why use it?
It gives contributors one place to find the project's setup and development commands. It also records safety rules, such as requiring permission before publishing a Docker image.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/7mza/geolocation-mcp/claude-md
Clone the repo
git clone --depth 1 https://github.com/7mza/geolocation-mcp

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for geolocation-mcp CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/7mza/geolocation-mcp/claude-md.svg)](https://agentmods.dev/instructions/7mza/geolocation-mcp/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/7mza/geolocation-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/7mza/geolocation-mcp/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 464 This file is loaded in full into every session.
When invoked 464 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00464 $0.00464
Opus 5 $0.00232 $0.00232
Sonnet 5 $0.00093 $0.00093
Haiku 4.5 $0.00046 $0.00046

Measured 4d ago against content hash a86b3cc3c01f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

geolocation-mcp CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 67 lines

What it actually says

CLAUDE.md

NEVER COMMIT OR PUBLISH TO DOCKERHUB WITHOUT EXPLICIT USER PROMPT

stack

  • Kotlin 2.4.10, Spring Boot 4.1.1, Java 25
  • Spring AI MCP server Webflux
  • Reactor / coroutines reactor bridge
  • GraalVM native image support (musl, static, -Os, UPX, distroless)

commands

# setup graalvm
sdk env install

# run on jvm
./gradlew bootRun

# test all
./gradlew test

# test single class
./gradlew test --tests "com.hamza.mcp.geolocation.DatabaseInitializerTest"

# kotlin lint check
./gradlew ktlintCheck
# kotlin lint fix
./gradlew ktlintFormat

# prettier format for non kotlin
npm run format

# graalvm native compilation
## -PgenerateMetadata = tracing-agent will instrument tests to generate reachability metadata
./gradlew clean ktlintFormat ktlintCheck build -PgenerateMetadata
## build native docker image
./gradlew buildImage

# publish image to docker hub
./gradlew publishImage

# run native docker image
docker run -p 8891:8080 -v geolocation_data:/home/nonroot/.geolocation-mcp 7mza/geolocation-mcp:latest

# mcp inspector
npm run mcp

# dependency vulnerability scan
./gradlew dependencyCheckAnalyze

rules

  • any blocking code must run on Schedulers.boundedElastic() BlockHound is active in JUnit to enforce this
  • always prefer Kotlin sugar (expression bodies, let, also, apply, destructuring, when, extension functions, trailing lambdas, ...etc.) over Java verbosity
  • use reactor-kotlin-extensions to simplify webflux verbosity when possible

native compilation

GraalVM tracing-agent is configured in build.gradle.kts to instrument test tasks

if there's an error during an *Aot task do a ./gradlew clean && ./gradlew --stop then delete src/main/resources/META-INF/native-image/.lock

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 67 lines · 464 tokens per session scan A a86b3cc3c01f

Subscribe to this mod's changes

geolocation-mcp CLAUDE.md is an instructions file published in the GitHub repository 7mza/geolocation-mcp (0 stars, last pushed 3d ago), licensed MIT. It adds 464 tokens to every session, about $0.0023 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.