Skip to main content
Glama
surendranb

mcp-server-wikipedia

by surendranb

Server Quality Checklist

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

  • Disambiguation4/5

    The tools are mostly distinct: get_page retrieves full text, get_section retrieves a specific section, get_summaries retrieves summaries, get_toc returns the table of contents, and search_articles finds candidates. However, get_page and get_summaries could overlap slightly in use cases (full text vs. summary) and the skills_list/skill_read pair is clearly distinct. Overall, minimal overlap.

    Naming Consistency5/5

    All tools consistently follow a verb_noun pattern with get_ prefix and lowercase nouns: get_page, get_section, get_summaries, get_toc, search_articles, skills_list, skill_read. The pattern is predictable and consistent.

    Tool Count5/5

    7 tools is within the ideal 3-15 range. Each tool serves a clear purpose for interacting with Wikipedia: search, read full page, read section, get summary, get TOC, and skill management. No redundant tools.

    Completeness4/5

    The set covers the core Wikipedia read operations: search, full page, section, summary, TOC. Missing might be a way to get page metadata or links, but for a read-only reference server this is well-covered. No obvious dead ends.

  • Average 3.9/5 across 7 of 7 tools scored. Lowest: 3.2/5.

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

    • No community issues in the last 6 months
    • 52 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • 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?

    Annotations already cover read-only, open-world, and idempotent behavior. The description adds no behavioral context beyond that, such as potential size of responses, rate limits, or what 'full page' implies regarding content type. It does not contradict annotations, but adds minimal value.

    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, using a single sentence for the main purpose. The additional paragraph explaining 'intent' is structured clearly and is useful, though it might be better placed in the schema. No redundant text or fluff.

    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?

    Given the tool's simplicity and the presence of annotations and an output schema, the description is adequate but not complete. It does not mention any limitations, edge cases, or what 'plain text' includes (e.g., Wikitext vs rendered text). For a full-page fetch, more detail could help.

    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 0%, but the description explains the 'intent' parameter with examples ('background on the Suez crisis for an essay'). However, the 'title' parameter is not described, though its meaning is likely obvious. The description partially compensates for the lack of schema descriptions.

    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 'Fetch a full Wikipedia page as plain text', with a specific verb (fetch), a clear resource (full Wikipedia page), and an output format (plain text). It distinguishes from siblings like get_section and get_summaries by focusing on the full page.

    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 versus alternatives like get_section or get_summaries. It does not mention any prerequisites, use cases, or when not to use it. The intent parameter's explanation is about the parameter, not about tool selection.

    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?

    Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description aligns with these by framing the action as a 'Fetch' and does not contradict the annotations. It adds little beyond the annotations and does not describe errors or return behavior, though an output schema exists.

    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 sentence that front-loads the verb and resource and contains no unnecessary words. It communicates the essential purpose efficiently.

    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 output schema and rich annotations cover return values and safety, so the description does not need to repeat those. However, for a tool with two required parameters and zero schema-level descriptions, the relationship between 'title' and 'section' remains unclear, leaving the description minimally complete but not fully self-sufficient.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate for the lack of parameter explanations. It partially clarifies that 'section' can be an index or exact section title, but the role of the required 'title' parameter is left implicit. Additionally, saying 'or' while both parameters are required creates ambiguity.

    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 uses a specific verb ('Fetch') and clearly identifies the resource ('one section') as well as the selection mechanism ('by section index or exact section title'). However, it does not explicitly distinguish this from sibling tools such as get_toc or get_page.

    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 the tool is for retrieving a single section, but it provides no explicit when-to-use or when-not-to-use guidance and names no alternatives or exclusions. The usage context must be inferred from the wording.

    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?

    The annotations already declare readOnly, openWorld, and idempotent. The description adds the specific output components (section index, title, anchor), providing extra detail beyond the annotations. It does not conflict with annotations, and adds value by describing the nature of the result. However, it doesn't discuss error behaviors or edge cases, but the presence of an output schema mitigates that.

    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?

    Single sentence, front-loaded with the action and result. No fluff, every word contributes.

    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?

    The tool is simple with one parameter and output schema provided. The description is adequate but could slightly benefit from clarifying that 'title' refers to the page title or identifier. Given the simplicity, it's mostly complete for an agent to invoke correctly.

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

    Parameters2/5

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

    The schema has one required parameter 'title' with 0% coverage in the description. The description does not explicitly explain what 'title' refers to. Although it's implied it's the page title, the description fails to clarify the parameter's format or meaning. Since coverage is zero, the description must compensate, but it doesn't mention the parameter at all.

    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 ('Return'), names the resource (a page's table of contents), and explicitly lists what it returns (section index, title, anchor). This clearly distinguishes it from sibling tools like get_page or get_section.

    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 does not explicitly state when to use this tool over alternatives like get_page or get_section. It implies the purpose but lacks explicit guidance on when it's the appropriate choice. No exclusions or alternative mentions.

    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?

    The annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the tool is clearly a safe read operation. The description adds useful scoping by specifying 'English Wikipedia' and clarifying the output is a 'compact list of candidate pages' rather than full article content. No contradiction with annotations.

    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 short and front-loaded, with the main purpose in the first sentence. The second sentence documents the intent parameter in a concise way and earns its place by adding practical guidance, though it is arguably more of a parameter comment than tool description.

    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?

    The tool is simple, has robust annotations, and provides an output schema, so the description does not need to explain return structures. It covers the core search behavior and the non-obvious intent parameter well. Some missing guidance about when to prefer this over sibling retrieval tools keeps it from a 5.

    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 has 0% description coverage, so the description partially compensates: it explains the intent parameter with an example and implies the meaning of query via 'Search English Wikipedia.' However, the limit parameter is not explicitly described, though its role is reasonably inferable from 'compact list' and schema defaults.

    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 and resource: 'Search English Wikipedia and return a compact list of candidate pages.' This clearly distinguishes it from sibling tools like get_page, get_section, and get_summaries, which retrieve specific content rather than searching for candidates.

    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 search-as-discovery usage by mentioning 'candidate pages,' but it does not explicitly say when to use this tool vs. get_page or other siblings. It gives no exclusion rules or alternative guidance, so usage context is inferred rather than stated.

    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?

    The description discloses that the tool returns compact summaries, supports multiple titles, and is scoped to Wikipedia page titles. Since annotations already mark it as readOnly, openWorld, and idempotent, this added context is sufficient for a low-risk read operation.

    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 one short sentence with no filler, redundant phrasing, or repetition of structured fields. Every word contributes to conveying the tool's purpose and key constraints.

    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 single-parameter, read-only tool with output-schema coverage, the description gives enough context to understand the request and likely response shape. It does not mention edge cases like nonexistent titles or ordering, but those are not essential given annotations and simple scope.

    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?

    Although the schema provides no property descriptions, the tool description clarifies that the titles array must contain 'Wikipedia page titles' and says they can be one or more. This adds meaningful context beyond the bare 'Titles' label in the schema.

    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 and resource: 'Fetch compact summaries' for 'one or more Wikipedia page titles.' It clearly distinguishes this tool from siblings like get_page, get_section, and get_toc by focusing on summaries rather than full page content, sections, or table of contents.

    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?

    Use is implied: the tool should be used when the caller wants compact summaries of Wikipedia pages. However, it does not explicitly name alternatives such as get_page for full page content or get_section for sections, so agents must infer the boundary without direct 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?

    Annotations already indicate readOnly and idempotent, so the description adds value by specifying the content is markdown and providing a recovery recommendation. No contradictions, though it doesn't describe behavior on missing/not-found cases, which is acceptable given openWorldHint.

    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?

    Exactly two sentences with no unnecessary words, direct and to the point, well-structured.

    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?

    Given it's a simple read operation with openWorldHint and no output schema, the description sufficiently covers purpose and usage. It doesn't elaborate on return structure, but that's not necessary for a basic retrieval tool. The recovery hint adds practical completeness.

    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 has no description for 'name' (0% coverage). The description partially compensates by saying 'by name' and pointing to skills_list for names, but doesn't specify format, case-sensitivity, or other constraints. This is adequate but not thorough.

    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 reads a specific usage skill by name and distinguishes it from skills_list (which lists skills). The verb 'read' and resource 'usage skill' are explicit.

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

    Usage Guidelines5/5

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

    The description gives explicit when-to-use guidance: 'Read 'interpreting-errors' after any error or empty result to recover.' It also directs users to skills_list for valid names, covering prerequisites and selection.

    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?

    Annotations already declare readOnlyHint=true and idempotentHint=true, so the description doesn't need to repeat safety. It adds the contextual tip about using skill_read after errors, which goes beyond the annotations. No contradictions.

    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 two sentences, front-loaded with the purpose, and includes a practical usage hint without any fluff. Every word earns its place.

    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?

    Given the tool's simplicity (no parameters, annotations present, output schema available), the description fully covers purpose and usage context. It is complete for an agent to decide when to invoke it.

    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 the schema covers everything. Per guidelines, a baseline of 4 is appropriate when no parameters need description; the description doesn't need to add param semantics.

    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 purpose: 'List usage skills for this server.' It uses a specific verb (List) and resource (usage skills), and distinguishes itself from sibling tools like skill_read by focusing on listing rather than reading specific skills.

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

    Usage Guidelines5/5

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

    The description provides explicit usage guidance: 'Read one with skill_read(name) whenever a tool returns an error or an empty result and the next step is unclear.' This tells the agent when to use this tool and even names the alternative tool (skill_read) for follow-up.

    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

wikipedia-mcp-server MCP server

Copy to your README.md:

Score Badge

wikipedia-mcp-server 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/surendranb/wikipedia-mcp-server'

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