Skip to main content
Glama
Cicatriiz

Consumer Rights Wiki MCP Server

by Cicatriiz

Consumer Rights Wiki MCP Server

A Model Context Protocol (MCP) server that provides access to the Consumer Rights Wiki, a platform documenting modern consumer exploitation issues.

Overview

This MCP server enables AI assistants to interact with the Consumer Rights Wiki (https://consumerrights.wiki), which documents various forms of consumer exploitation including:

  • Privacy violations and data misuse

  • Dark patterns in user interfaces

  • Forced arbitration clauses

  • Ownership rights violations

  • Deceptive pricing practices

  • And more modern consumer issues

Related MCP server: public-ai-mcp-server

Features

The server provides the following tools:

1. search_wiki

Search for articles in the Consumer Rights Wiki.

  • Parameters:

    • query (required): Search terms

    • limit (optional): Number of results (default: 10, max: 50)

2. get_page_content

Retrieve the full content of a specific wiki page.

  • Parameters:

    • title (required): The page title

    • section (optional): Specific section number to retrieve

3. get_page_info

Get metadata about a wiki page including revision history, categories, and protection status.

  • Parameters:

    • title (required): The page title

4. get_recent_changes

View recent changes to the wiki.

  • Parameters:

    • limit (optional): Number of changes to return (default: 10, max: 50)

    • namespace (optional): Filter by namespace (0 = main articles)

5. get_categories

List all categories or pages within a specific category.

  • Parameters:

    • category (optional): Category name (without "Category:" prefix)

    • limit (optional): Number of results (default: 20, max: 50)

6. get_page_sections

Get the section structure of a wiki page.

  • Parameters:

    • title (required): The page title

Installation

  1. Clone this repository or create a new directory:

mkdir consumer-rights-wiki-mcp
cd consumer-rights-wiki-mcp
  1. Save the provided files:

    • src/index.ts (the main server code)

    • package.json

    • tsconfig.json

  2. Install dependencies:

npm install
  1. Build the TypeScript code:

npm run build

Configuration

For Claude Desktop

Add the following to your Claude Desktop configuration file:

On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "consumer-rights-wiki": {
      "command": "node",
      "args": ["path/to/consumer-rights-wiki-mcp/build/index.js"]
    }
  }
}

For Other MCP Clients

The server runs on stdio transport. Start it with:

npm start

Usage Examples

Once configured, you can ask your AI assistant to:

  1. Search for companies: "Search the Consumer Rights Wiki for information about X Corp"

  2. Get detailed article content: "Get the full content of the X Corp article from Consumer Rights Wiki"

  3. Browse recent changes: "Show me the most recent changes to Consumer Rights Wiki"

  4. Explore categories: "What categories are available in Consumer Rights Wiki?" "Show me all articles in the 'Privacy violations' category"

  5. Get page structure: "What sections are in the 'Apple Inc.' article?"

Development

For development with hot reloading:

npm run dev

To clean build artifacts:

npm run clean

API Limitations

  • The server uses the public MediaWiki API, which has rate limits

  • Search results are limited to 50 per query

  • Some content may require authentication for editing (not implemented in this version)

Contributing

This MCP server is designed to help expose consumer exploitation practices. Consider contributing to:

  • The Consumer Rights Wiki itself by documenting consumer issues

  • This MCP server by adding new features or improving existing ones

License

MIT License

Available Tools

6 tools
get_categoriesC

Get all categories or pages in a specific category

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoCategory name (without Category: prefix). If empty, lists all categories.
limitNoNumber of results to return (default: 20, max: 50)

TDQS

C2.9/5.0
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 states the tool's function but lacks details on permissions, rate limits, pagination, or response format. For a read operation with no annotation coverage, this is a significant gap in 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/5

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

The description is a single, efficient sentence that clearly states the tool's purpose without redundancy. It's appropriately sized and front-loaded, with no wasted words, making it easy to parse quickly.

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?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain return values, error handling, or behavioral constraints like rate limits. For a tool with two parameters and no structured output information, more context is needed to ensure reliable agent usage.

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 schema already documents both parameters thoroughly. The description implies the 'category' parameter's dual role (empty for all categories, specified for pages in that category), but doesn't add syntax or format details beyond what the schema provides. Baseline 3 is appropriate when the schema handles most parameter documentation.

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 purpose with specific verbs ('Get all categories' or 'pages in a specific category') and identifies the resource (categories/pages). It distinguishes between two modes (list all categories vs. list pages in a category), but doesn't explicitly differentiate from siblings like 'get_page_content' or 'search_wiki' beyond the resource focus.

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. It doesn't mention sibling tools like 'get_page_info' or 'search_wiki', nor does it specify contexts where this tool is preferred or excluded, leaving usage decisions ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_page_contentC

Get the full content of a specific wiki page

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesThe title of the wiki page
sectionNoOptional section number to retrieve

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions retrieving 'full content' but doesn't specify format (e.g., HTML, plain text), pagination, error handling, or authentication requirements. This leaves significant gaps for a read operation 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/5

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

The description is a single, clear sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for a simple retrieval tool, making it easy to parse quickly.

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?

For a tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'full content' includes (e.g., text, images, metadata), return format, or error scenarios. Given the complexity of wiki content retrieval and lack of structured data, more context is needed.

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 schema already documents both parameters (title and optional section). The description adds no additional parameter semantics beyond implying retrieval of content, which aligns with the schema but doesn't provide extra value like format details or examples.

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 action ('Get the full content') and resource ('a specific wiki page'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like get_page_info or get_page_sections, which also retrieve page-related information but with different scopes.

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_page_info (which might return metadata) or get_page_sections (which might list sections). It simply states what the tool does without context about appropriate use cases or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_page_infoB

Get metadata about a wiki page

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesThe title of the wiki page

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'Get metadata' which implies a read-only operation, but doesn't specify what metadata includes (e.g., last modified, author, page size), whether it requires authentication, or if there are rate limits. This leaves significant gaps in understanding the tool's 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/5

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

The description is a single, clear sentence with no wasted words. It's appropriately sized for a simple tool and front-loads the essential information ('Get metadata about a wiki page'), making it easy to parse quickly.

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 read tool with one parameter and no output schema, the description is minimally adequate. It covers the basic purpose but lacks details on what metadata is returned, how to handle errors, or when to choose this over siblings. Without annotations or output schema, more context would be helpful for the agent to use it effectively.

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 description adds no parameter information beyond what's in the schema, which has 100% coverage for the single 'title' parameter. Since schema coverage is high, the baseline is 3, but the description doesn't provide additional context like format examples or edge cases for the title parameter.

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 'Get metadata about a wiki page' clearly states the action (get) and resource (wiki page metadata), making the purpose immediately understandable. However, it doesn't differentiate from siblings like 'get_page_content' or 'get_page_sections' which also retrieve page information but of different types, so it lacks specific sibling distinction.

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. With siblings like 'get_page_content' (for full content) and 'get_page_sections' (for structural breakdown), there's no indication that this tool is specifically for metadata rather than other page aspects, leaving the agent to guess based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_page_sectionsC

Get the section structure of a wiki page

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesThe title of the wiki page

TDQS

C2.9/5.0
Behavior2/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 behavioral disclosure. It states it 'gets' data, implying a read-only operation, but doesn't specify permissions, rate limits, error handling, or what the output looks like (e.g., format of section structure). This leaves significant gaps for a tool with no structured safety hints.

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, clear sentence with zero wasted words. It's front-loaded with the core purpose, making it efficient and easy to parse, which is ideal for conciseness.

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?

Given no annotations, no output schema, and a simple parameter schema, the description is incomplete. It doesn't explain what 'section structure' entails (e.g., hierarchical data, metadata), potential errors, or usage context, which is inadequate for a tool that might return complex data without structured output documentation.

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 input schema has 100% description coverage, with the single parameter 'title' documented as 'The title of the wiki page'. The description adds no additional meaning beyond this, such as format examples or constraints, so it meets the baseline for high schema coverage without compensating value.

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 action ('Get') and resource ('section structure of a wiki page'), making the purpose understandable. However, it doesn't differentiate from siblings like 'get_page_content' or 'get_page_info' which might also retrieve page-related data, so it's not fully specific about what distinguishes this tool.

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_page_content' or 'get_page_info'. It lacks explicit context, prerequisites, or exclusions, leaving the agent to infer usage based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_recent_changesC

Get recent changes to the wiki

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of recent changes to return (default: 10, max: 50)
namespaceNoFilter by namespace (0 = main articles)

TDQS

C2.9/5.0
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 states the action but lacks details on permissions, rate limits, output format, pagination, or whether changes are filtered by type (e.g., edits, deletions). For a read operation with zero annotation coverage, this is a significant gap.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly.

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?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'recent changes' entails (e.g., edit history, timestamps, user info) or the return format, leaving gaps in understanding the tool's behavior and output.

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 input schema has 100% description coverage, with clear documentation for both parameters (limit and namespace), including defaults and examples. The description adds no additional parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate.

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 verb ('Get') and resource ('recent changes to the wiki'), making the purpose immediately understandable. However, it doesn't differentiate this tool from potential sibling tools like 'get_page_info' or 'search_wiki' that might also retrieve wiki-related information, preventing a perfect score.

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. With sibling tools like 'get_page_info' and 'search_wiki' available, there's no indication of whether this tool is for chronological updates, specific content types, or other contexts, leaving usage ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_wikiC

Search for articles in the Consumer Rights Wiki

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
limitNoNumber of results to return (default: 10, max: 50)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions searching but doesn't describe how results are returned (e.g., relevance ranking, pagination), what fields are included in results, error conditions, or performance characteristics. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its 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/5

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

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core purpose and avoids redundancy, making it easy to parse quickly. Every part of the sentence contributes essential information.

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?

Given the lack of annotations and output schema, the description is insufficient for a search tool. It doesn't explain what the search returns (e.g., article titles, snippets, metadata), how results are structured, or any limitations like timeouts or result quality. For a tool with 2 parameters and no structured output documentation, more context is needed to use it effectively.

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%, with both parameters ('query' and 'limit') well-documented in the schema itself. The description doesn't add any parameter-specific information beyond what the schema provides, such as search syntax examples or result format details. This meets the baseline for high schema coverage but doesn't enhance understanding.

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 action ('Search for articles') and resource ('Consumer Rights Wiki'), making the purpose immediately understandable. However, it doesn't differentiate this search tool from potential sibling tools like 'get_recent_changes' or 'get_categories' that might also retrieve wiki content, so it doesn't reach the highest score.

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. With siblings like 'get_page_content' and 'get_page_info' available, there's no indication whether this is for general discovery, specific lookups, or how it differs from other retrieval methods. It merely states what it does, not when to choose it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updates
    • First observedget_categories
    • First observedget_page_content
    • First observedget_page_info
    • First observedget_page_sections
    • First observedget_recent_changes
    • First observedsearch_wiki

TDQS

A3.5/5.0

Scored across 6 tools

Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity: get_categories handles category listings, get_page_content retrieves full page text, get_page_info provides metadata, get_page_sections gives structural details, get_recent_changes shows edit history, and search_wiki performs article searches. The descriptions clearly differentiate each tool's function, making misselection unlikely.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with 'get_' or 'search_' prefixes, using snake_case uniformly throughout. This predictable naming scheme (e.g., get_page_content, search_wiki) makes the tool set easily navigable and understandable at a glance.

Tool Count5/5

With 6 tools, this server is well-scoped for a wiki interface, covering essential operations like content retrieval, metadata access, structure analysis, change tracking, and search. Each tool earns its place without redundancy, avoiding both excessive complexity and insufficient functionality.

Completeness4/5

The tool set provides comprehensive read-only coverage for a wiki domain, including content, metadata, structure, history, and search. A minor gap exists in write operations (e.g., edit_page or create_page), but agents can still perform most common wiki interactions effectively with the available tools.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access real-time web data through search, markdown scraping, and browser automation while bypassing anti-bot protections. It provides tools for web research, e-commerce monitoring, and data extraction from across the globe.
    4
    7,869
    5
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access Wikipedia content, search articles, retrieve historical events, and fetch images through the Wikipedia API.
    4
    19
    1
    MIT

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/Cicatriiz/consumer-rights-wiki-mcp'

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