jp-calendar-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool targets a distinct operation: checking a date's business status, shifting by days, counting days between dates, and converting between Gregorian and Japanese eras. The two tax tools are also clearly separate from each other and from the calendar tools.
Naming Consistency3/5The common 'jp_' prefix helps, but the naming pattern is mixed: verb_noun (check_date, shift_days, count_days), directional (to_wareki, from_wareki), and noun phrases (ideco_tax_saving, furusato_limit). This inconsistency is noticeable but does not severely hinder readability.
Tool Count5/5Seven tools is a well-scoped count for a Japan-specific utility server. Each tool earns its place, and the set is neither bloated nor too thin.
Completeness4/5The calendar tools cover the core business-day and era-conversion workflows thoroughly. The two tax tools are useful but feel like an add-on to a calendar-focused server, leaving some potential gaps in tax coverage.
Average 3.9/5 across 7 of 7 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 commits in the last 12 weeks
- 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 provided, the description carries the responsibility for behavioral disclosure. It does add one meaningful behavior: warning when the month/day falls outside the era. However, it does not describe the output format, error behavior, or null-handling, so transparency is only partial.
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?
Two concise sentences with no filler. Every word contributes to the core function and a key edge-case behavior, making this appropriately sized and front-loaded.
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?
For a simple conversion tool, the description covers the main purpose and the warning behavior, but with no output schema it should also describe the return value format. It does not, leaving some uncertainty for the agent about what to expect from the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, meaning only the 'era' parameter has an explanation. The description barely compensates: it mentions 'month/day' but does not clarify the role of era_year or the expected ranges for month/day. It adds minimal meaning beyond property names.
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 uses the specific verb 'Convert' and clearly identifies the resource: a Japanese era date to the Gregorian calendar. It distinguishes itself from sibling jp_to_wareki by stating the conversion direction, leaving no ambiguity about what this tool does.
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 when a Japanese era date needs conversion to Gregorian, but it does not explicitly mention alternatives or exclusions. For example, it does not point to jp_to_wareki for the reverse conversion, leaving the usage context only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It mentions 'contributions are fully deductible' and limits to 'deduction effect only', but it does not state whether the tool returns a combined value or separate values for income and residence taxes, nor any contribution limits or calculation assumptions.
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 sentence plus a short qualifier, communicating the core purpose without fluff. It is appropriately front-loaded and every word contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema or annotations, so the description must explain the return value and any assumptions. It fails to specify the output format (e.g., a single total vs. separate tax types) and does not mention contribution limits or tax bracket assumptions, making it incomplete for a calculation tool.
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 descriptions for both parameters, achieving 100% coverage. The description adds no additional parameter-level semantics, so it remains at the baseline of 3.
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 uses the specific verb 'Calculate' and identifies the resource 'iDeCo contributions', clearly stating the outcome as annual income-tax and residence-tax reduction. This distinguishes it from the sibling date tools and the furusato tax tool.
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 the tool is for calculating the tax savings from iDeCo contributions, and the phrase 'Deduction effect only' sets an exclusion boundary. However, it doesn't explicitly name alternative tools or provide clear when-to-use vs. not-use guidance.
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. It discloses the available date range for public holidays (2020-2031), which is a significant constraint, and telegraphs the output flags (weekday, weekend/public-holiday, business-day). This goes beyond a simple tautology, though it omits details about out-of-range behavior or error handling.
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 exceptionally concise: two sentences that open with the core action and then immediately list return values and a key limitation. Every clause adds value, no filler or redundancy.
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 the tool's simplicity, the description covers the essential context: purpose, output indicators, and a critical date-range caveat. It does not describe fallback behavior for invalid dates or explain how holidays are calculated, but the core usage is sufficiently clear. Without an output schema, mentioning the flag types compensates well.
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 already provides 100% coverage for the single 'date' parameter with format YYYY-MM-DD. The description adds semantic context by specifying it is a Japanese calendar date and implying business-day checks, but does not add new syntactic details. Thus it meets the baseline for well-documented schema parameters.
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 starts with a specific verb 'Check' and identifies the resource as 'whether a Japanese calendar date is a business day', immediately distinguishing it from sibling date tools like jp_shift_days and jp_count_days. It clearly states what outputs are returned, further clarifying its unique role.
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 usage context is implied: if you need to know if a date is a business day or get holiday status, use this tool. However, it does not explicitly mention alternatives or state when not to use it, lacking the comparative guidance found in higher-scoring descriptions.
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?
Without annotations, the description carries the full burden. It accurately describes the calculation scope and input source, but doesn't disclose output format, rounding behavior, or edge-case handling. The core behavior is transparent, but additional details would improve confidence.
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, well-structured sentence that begins with the action verb and includes the key condition and data source. No wasted words.
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 the tool's simplicity (two numeric inputs, no output schema), the description sufficiently explains the purpose and input source. It doesn't explicitly state the return value, but 'calculate the limit' strongly implies the limit amount is returned.
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 provides full descriptions for both parameters (taxable income and residence tax income levy), covering 100% of parameters. The description reinforces the 'residence_tax_income_levy' source but doesn't add extra meaning beyond the schema.
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 uses the specific verb 'calculate' and identifies the resource as the furusato-nozei limit with a clear condition (out-of-pocket cost stays at 2,000 yen). This clearly distinguishes it from sibling tools which are date utilities or ideco savings calculation.
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 provides clear context: it's for calculating the donation limit using the residence-tax income levy from the annual tax notice. While it doesn't explicitly name alternatives, the sibling tools are unrelated, so there's no ambiguity about when to use this tool. No exclusions are mentioned.
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, the description carries the full burden of behavioral disclosure. It does explain that business days skip weekends and Japanese public holidays and that negative values move backward, which is useful. However, it does not disclose what the tool returns (e.g., a date string) or how invalid dates are handled, leaving some ambiguity.
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 concise sentence that is front-loaded with the verb ('Move') and immediately states the core functionality. It avoids unnecessary words while including key details about business/calendar modes and negative values.
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 date-shifting tool, the description covers the primary behavior, the two modes, and the handling of negative values. However, it is missing an explicit statement of the return output (likely a date string) and does not mention edge cases like invalid input, but these gaps are minor given the tool's simplicity.
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 input schema provides parameter names and types but not the meaning of 'business' mode. The description adds crucial semantics by explaining that business days skip weekends and Japanese public holidays, and by clarifying that negative days move backward. This compensates for the 67% schema coverage.
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: 'Move a date forward or backward by N days' with specific details about business vs calendar days and negative values. This distinguishes it from sibling tools like jp_check_date (validating dates) or jp_count_days (counting between dates).
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 (shift a date by a number of days) and explains the mode options, but it does not explicitly state when to use this tool over siblings or provide exclusions. For example, it never mentions that this is for shifting dates, not for checking or counting.
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, the description carries the full burden of behavioral disclosure. It adds meaningful detail by stating that era boundaries are handled to the day, which is a key precision guarantee. However, it does not specify the return format (e.g., whether it includes the Japanese year number or just the era), nor does it address edge cases like dates before the Meiji era. This is adequate but incomplete for full transparency.
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, concise sentence that immediately states the action and target format. It also adds a valuable precision note without any filler. Every element earns its place, and the structure is front-loaded with the verb.
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 the tool is a simple one-parameter converter with no output schema, the description explains the conversion and the era boundary guarantee, which covers the core behavior. It falls short of full completeness because it omits the exact return format and edge-case handling, but for a conversion tool of this complexity, it is sufficiently complete for an agent to invoke it correctly.
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 100% coverage for the single 'date' parameter with a format description (YYYY-MM-DD). The description adds the term 'Gregorian' which clarifies the calendar system, but this is a minor addition. Since schema coverage is high, a baseline of 3 is appropriate; the description does not introduce new constraints or details beyond the schema.
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 a Gregorian date to Japanese imperial era format, with a specific verb ('convert'), source ('Gregorian date'), and target ('Japanese imperial era format'). It lists the era names, and the direction is unambiguous. It also distinguishes itself from the sibling jp_from_wareki by the conversion direction.
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 provides clear context: use this to convert Gregorian dates to wareki, and notes that era boundaries are handled precisely. It does not explicitly mention alternatives or exclusions, but the sibling set implies the reverse tool jp_from_wareki would handle the opposite direction. The guidance is implied rather than explicit, so it just misses a 5.
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, the description carries the full burden. It discloses that it counts both calendar and business days, excludes Japanese holidays from business days, and is order-insensitive. But it does not specify whether the count is inclusive/exclusive of the endpoints or what the return structure looks like, leaving ambiguity for the agent.
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 sentence that front-loads the main purpose and then adds the key behavior (exclusion of Japanese holidays) and the order-insensitivity note. Every word earned its place, with no fluff or repetition.
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 simple with fully described parameters, but there is no output schema. The description does not explain the return value format or edge cases (e.g., invalid dates, inclusivity). Given that the description must compensate for the missing output schema, it is not fully complete, though it covers the core functionality adequately.
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 provides 100% coverage by naming and describing both parameters (start and end with YYYY-MM-DD format). The description adds extra semantic value by stating the order does not matter, which is not evident from the schema alone. This justifies a score above the baseline of 3.
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 uses a specific verb ('Count') and identifies the exact resource ('calendar days and business days between two dates'). It also clarifies a distinguishing feature ('Japanese holidays excluded from business days'), which differentiates it from sibling tools like jp_check_date or jp_shift_days.
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 clearly implies when to use the tool: whenever an agent needs to count days between two dates. It also provides a useful usage note that the date order does not matter. However, it does not explicitly compare to alternatives or state exclusion criteria, so it is not a perfect 5.
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/takeo628-hub/jp-calendar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server