geojp-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation4/5
Each tool has a distinct purpose: forward geocoding, reverse geocoding, parcel lookup, and a combined reverse+parcel lookup. The combined lookup overlaps slightly with reverse_geocode and get_parcel, but the description clearly explains it as a composite, minimizing ambiguity.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern (reverse_geocode, geocode, get_parcel, lookup_location) using lowercase and underscores. While verbs vary, the naming style is uniform and predictable.
Tool Count5/5With just 4 tools, the server is tightly scoped to Japanese geocoding and parcel lookup. Each tool serves a clear and distinct need, making the count appropriate without being thin or bloated.
Completeness5/5The tool set covers the core domain operations: forward geocoding, reverse geocoding, parcel lookup, and a combined convenience method. No significant functional gaps are apparent; limitations like 8-prefecture parcel coverage are data constraints, not missing tool capabilities.
Average 4/5 across 4 of 4 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- No commit activity data available
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It usefully reveals that partial matches are allowed, returns up to 10 candidates, and uses the ReverseGeoJP API. However, it does not mention error handling, rate limits, or the read-only nature, which are relevant but perhaps less critical for a simple lookup tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the core purpose and includes key limitations (partial match, max 10). Every word adds value, and there is no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description adequately explains the return value: town district and lat/lon candidates, capped at 10. It could be more complete by mentioning coordinate format or failure behavior, but it covers the essential information needed to understand the tool's function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the sole parameter 'address' as '検索する住所文字列' (address string to search), so the baseline is 3. The description adds meaningful semantics by specifying that the address must be a Japanese string and supports partial matching, which goes beyond the generic schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: converting a Japanese address string into candidate town districts (町丁目) with latitude/longitude, returning up to 10 results. It uses a specific verb '返します' (returns) and distinguishes from reverse_geocode by explicitly indicating direction from address to coordinates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives like reverse_geocode or lookup_location. It merely states what the tool does, leaving the agent to infer the appropriate context from the directionality implied by the name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It usefully notes that results are based on the nearest point rather than boundary containment and mentions the underlying ReverseGeoJP API. However, it does not address failure cases, coordinate datum, result distance limits, or API error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loads the core behavior, and includes a valuable caveat. Every phrase adds information; there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description does list the essential return components (prefecture, municipality, town area, postal code) and highlights the nearest-point behavior. It lacks some edge-case details and explicit sibling differentiation, but it is sufficiently complete for a simple reverse-geocoding tool with two well-specified parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full coverage for lat and lon, including ranges and brief Japanese labels. The description adds that these coordinates are used to find the nearest town address, but offers no extra detail about precision, units, or coordinate system, so it does not exceed the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts latitude/longitude into the nearest town-level Japanese address, listing specific components (prefecture, municipality, town area, postal code). This specific verb+resource statement distinguishes it from sibling tools like geocode, which handles the forward direction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (reverse geocoding from coordinates) via the title and the note about returning the nearest point rather than a boundary match. However, it does not explicitly state when to use this tool versus alternatives like geocode or get_parcel, nor does it name alternative tools for forward geocoding or parcel-level lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses that two independent APIs are called in parallel and integrated, and warns about the not_found behavior outside supported prefectures. It does not mention error handling or partial failure behavior, but the disclosed traits are valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loading the primary purpose and then adding a crucial caveat. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex due to combining two APIs, and there is no output schema. While the description explains the parallel call and the not_found caveat, it does not describe the result structure or how partial failures are handled, leaving some ambiguity for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both lat and lon. The tool description adds no further parameter semantics, so the baseline of 3 is appropriate—the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it looks up both an address (ReverseGeoJP) and a parcel number (ChibanJP) from latitude/longitude and combines them into one result. This distinguishes it from siblings like reverse_geocode and get_parcel, which handle each separately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is the combined alternative to calling reverse_geocode and get_parcel separately, and it provides a key usage caveat about ChibanJP only supporting 8 prefectures. However, it does not explicitly state when to choose this over individual tools or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals the underlying API (ChibanJP) and the critical limitation of only covering 8 prefectures, which is essential behavior. It also lists the output fields. It does not mention error behavior (e.g., if the point is outside the supported area or not in a parcel), but the disclosed scope is a significant transparency win.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the primary action and return contents in the first sentence, and the API source and critical area limitation in the second. There is no filler, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter lookup, the description provides the key context: what is returned, the data source, and the geographic limitation. It does not detail error handling or coordinate system, but the simplicity of the tool and complete parameter schema mitigate that need. It is slightly below a 5 because error behavior for out-of-area points is unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes both parameters (lat and lon) with ranges and labels. The description adds no additional parameter semantics beyond what the schema provides, so the baseline of 3 is appropriate per the guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns the parcel number, 大字, city, and surveying accuracy for a point given lat/lon. This is a specific verb+resource combination and distinguishes itself from sibling geocoding tools by focusing on chiban data from the ChibanJP API.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists the eight supported prefectures, giving clear usage boundaries. However, it does not mention alternatives like reverse_geocode for general addresses or geocode for forward lookups, so it is not fully explicit about when to choose this over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/55tarkun/geojp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server