Skip to main content
Glama
adityafba

satudata-ngawi

by adityafba

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool targets a distinct aspect of the portal: categories, organizations, datasets, dataset details, search, and statistics. The descriptions clearly differentiate them even where overlap might occur (e.g., search vs. filtered list).

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern. Most use 'get_', and 'search_data' fits the same style. No mixed conventions or vague names.

    Tool Count5/5

    Six tools is well-scoped for a read-only open data portal. Each tool serves a clear purpose without redundancy or bloat, making the set easy to navigate.

    Completeness5/5

    The tool set covers all core read operations for the domain: browsing by category/organization, listing datasets, fetching full detail, searching, and portal statistics. No obvious gaps for a public data portal API.

  • Average 3.6/5 across 6 of 6 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 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
  • This repository is licensed under MIT License.

  • 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.json to 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

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description only states the basic action (getting a list) and geographic scope. It does not disclose pagination behavior, filtering via the q parameter, default result sizes, or any potential side effects. The agent gains no insight into how the tool behaves under the hood.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, concise sentence with no wasted words. It is front-loaded with the action and resource, making it easy to read.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has no output schema and no annotations, yet the description does not explain what a response contains or any usage nuances. It only states the basic purpose, leaving the agent without enough context for the tool's behavior and return values.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so all three parameters (q, page, per_page) already have descriptions in the input schema. The description adds no additional parameter semantics beyond what the schema provides, aligning with the baseline for high schema coverage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's function: 'Mendapatkan daftar organisasi/OPD... di Kabupaten Ngawi' (get list of organizations/OPD in Ngawi Regency). It uses a specific verb and resource, and differentiates it from sibling tools that focus on data, categories, and statistics.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool compared to alternatives like search_data or get_data_sektoral. It does not mention any limitations, exclusions, or preferred use cases.

    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, the description carries the full burden of behavioral disclosure. It only states that the tool returns 'relevant sectoral data' without explaining matching behavior, result ordering, pagination, or any limitations. For a search tool, this lacks transparency about how searching is performed and what constitutes 'relevant'.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise and front-loaded: the first clause states the action and scope, the second the result. It earns its place with no fluff. It could have added more useful context without becoming verbose, but it is not poorly structured.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    This is a simple tool with 2 parameters and no output schema. The description covers the core functionality and mentions the return type ('relevant sectoral data'), but it lacks context on how this fits with sibling tools, the structure of results, or any limitations. It is adequate but not complete for an agent to fully predict behavior.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema description coverage is 100% via input schema: 'keyword' and 'limit' are both described. The tool description adds no additional meaning beyond the schema, so it meets the baseline of 3 but does not go further.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states a specific verb ('search') and resource ('data in Satu Data Ngawi'), and distinguishes this as a keyword-based search tool from sibling tools like get_kategori_sektoral or get_detail_data. However, it does not explicitly define the scope of 'data sektoral' or why this search tool exists alongside the specific retrieval tools, leaving a small gap.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The phrase 'berdasarkan kata kunci' implies the tool should be used when a keyword is available, rather than browsing via categories or specific lookups. However, it offers no explicit when-to-use versus alternatives, no exclusionary guidance, and no mention of prerequisites or typical scenarios.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does (gets details) without mentioning whether it is read-only, any required permissions, potential errors, or the structure of the returned detail. The word 'get' implies a read operation, but no additional behavioral traits are disclosed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence that front-loads the core meaning ('Mendapatkan detail lengkap'). It is brief and gets to the point quickly, though 'detail lengkap' and 'termasuk data detail/nilai-nilainya' are slightly redundant. No wasted words overall.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple one-parameter tool with no output schema, the description provides enough to understand the basic purpose. It mentions that details include 'data detail/nilai-nilainya', giving some hint of content. However, it omits return format, possible empty results, or any limits, so it is minimally complete but not rich.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, as the parameter 'id' is described as 'ID data sektoral yang ingin dilihat detailnya'. The description adds no new semantic insight beyond what the schema already provides, but it is consistent. With full schema coverage, the baseline of 3 applies.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses the specific verb 'Mendapatkan' (get) and identifies the resource as 'detail lengkap dari sebuah data sektoral' (complete details of a sectoral data), with the scope limited 'berdasarkan ID' (based on ID). This clearly distinguishes it from sibling tools like get_data_sektoral or search_data, which presumably list or search rather than fetch detail by ID.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies when to use the tool: when you need the full detail of a sectoral data record given its ID. However, it does not explicitly state when not to use it or mention alternatives (e.g., use get_data_sektoral to list all records first). The guidance is implied rather than direct.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the core behavior (returns a list of available datasets, filterable), which is consistent with a read-only GET operation. However, it does not mention pagination behavior, response format, or potential prerequisites. Given the simple nature of the tool, this is acceptable but not thorough.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, concise sentence that front-loads the main purpose and filter options. Every word contributes to understanding the tool's function, with no redundancy or ambiguity.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description is adequate for a simple listing tool, but it omits explicit pagination semantics, response structure, and usage differentiation from search_data. Given the lack of an output schema and annotations, a bit more detail would make the description more complete, but the current state is minimally viable.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the baseline is 3. The description summarizes the filters as 'pencarian, kategori, atau organisasi' which maps to q, kategori_id, and organisasi_id, but adds no additional meaning beyond what the schema already provides for each parameter. It does not mention page or per_page, though those are self-explanatory.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's function: 'Mendapatkan daftar data sektoral/dataset yang tersedia' (Gets a list of available sectoral data/datasets). It also specifies that filtering is possible by search, category, or organization. This distinguishes it from siblings like get_detail_data (which likely fetches a single dataset), but does not explicitly differentiate from search_data.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies that this tool is used to retrieve a list of datasets with optional filters, but it does not explicitly state when to use this tool versus alternatives like search_data. There is no mention of when not to use it, so guidance is limited to what is inferred from the tool's purpose.

    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?

    No annotations are provided, so the description carries the burden. It correctly implies a read-only operation via 'Mendapatkan' but does not explicitly disclose lack of side effects, authentication requirements, or pagination behavior. The description is benign but minimal, not adding detail beyond the basic get-list action.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, focused sentence that fully communicates the tool's purpose with examples. It is front-loaded with the action and resource, and every word adds value without redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple list-getting tool with two optional parameters and no output schema, the description is adequately complete. It provides examples of content and clarifies the domain. It lacks an explicit mention of return format or pagination in the description, but the schema covers parameter details, making this acceptable.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% (both page and per_page have descriptions), so the baseline is 3. The tool description does not add any extra context about these parameters, but the schema descriptions are sufficient for an agent to understand their purpose.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Mendapatkan daftar' = get list) and the resource ('kategori sektoral/sektor data yang tersedia di Satu Data Ngawi'), with concrete examples (Pertanian, Kesehatan, Pendidikan). It distinguishes from sibling tools like get_data_sektoral by focusing on categories rather than the data itself.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Usage is implied: the tool is for retrieving the list of sectoral categories. However, it does not explicitly state when to use this over siblings (e.g., 'Use get_data_sektoral for actual data'), nor does it provide any exclusions or mention alternatives. It relies on the user to infer intent from the name and description.

    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 of disclosure. It clearly states the tool retrieves summary statistics and specifies the kinds of data returned (counts of categories, organizations, datasets). This is sufficient for a non-destructive, read-only statistics endpoint.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, concise sentence that front-loads the core action and resource, with the specific statistics listed in parentheses for clarity. No unnecessary words or repetition.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple tool with no parameters and no output schema, the description fully covers the tool's purpose and the content of its response. It is complete and self-contained, with no missing critical information.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters, so according to the rubric, the baseline is 4. The description does not need to explain parameter semantics, and the schema confirms no inputs are required.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Mendapatkan' - get) and identifies the resource ('ringkasan statistik portal Satu Data Ngawi') with clear scope (counts of categories, organizations, datasets). This clearly distinguishes it from sibling tools like get_kategori_sektoral or get_organisasi, which target specific entities.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description clearly implies the tool is for obtaining an overall summary of the portal rather than specific entities, which provides context for when to use it. However, it does not explicitly mention alternatives or exclusion conditions, so it doesn't fully meet the top bar.

    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

mcp-satudata-ngawi MCP server

Copy to your README.md:

Score Badge

mcp-satudata-ngawi MCP server

Copy to your README.md:

Latest Blog Posts

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/adityafba/mcp-satudata-ngawi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server