Skip to main content
Glama

wpgoldmine-mcp

An MCP server for finding WordPress plugin opportunities — large, established plugins weakened by abandonment, low ratings, or poor support, i.e. plugins you could realistically replace or out-build. It lets AI agents (Claude, Cursor, Windsurf, etc.) query the WordPress.org plugin directory through the lens of "what's a takeable market here?"

Powered by wpgoldmine.io. All querying runs server-side, so no local database or scraping is required.

Install / run

// Claude Desktop / any MCP client config
{
  "mcpServers": {
    "wpgoldmine": {
      "command": "npx",
      "args": ["-y", "wpgoldmine-mcp"]
    }
  }
}

Related MCP server: WordPress Plugin Directory MCP Server

Tools

list_opportunity_presets

Lists the curated opportunity angles you can pass as preset (e.g. abandoned-plugins, low-rated-popular, beatable-niche, unsupported-plugins, high-opportunity, newest-opportunities).

find_plugin_opportunities

Returns a ranked, capped list of plugin opportunities.

Param

Type

Description

preset

string (optional)

A preset key. Composes with tag.

tag

string (optional)

Narrow to a niche by WordPress.org tag, e.g. seo, forms, backup.

ecosystem

wordpress | woocommerce (optional)

Defaults to wordpress.

min_installs / max_installs

number (optional)

Active-install bounds.

max_rating

number (optional)

Max rating on a 0–100 scale (lower = more dissatisfied users).

get_plugin

Opportunity snapshot for one plugin by slug: installs, rating, last-updated, support resolution, and opportunity / abandonment / monetization scores.

Example agent uses: "Find abandoned WordPress plugins in the forms niche I could rebuild," "Which popular SEO plugins have the worst ratings?", "Give me the opportunity score for wp-super-cache."

Config

  • WPGOLDMINE_API_KEY — optional. A WP Goldmine account API token (from your account settings) raises the result limit and unlocks extra fields. Without it, the server uses the free, capped tier.

  • WPGOLDMINE_API_BASE — override the API base (default https://wpgoldmine.io).

{
  "mcpServers": {
    "wpgoldmine": {
      "command": "npx",
      "args": ["-y", "wpgoldmine-mcp"],
      "env": { "WPGOLDMINE_API_KEY": "wpg_your_token_here" }
    }
  }
}

License

MIT

Available Tools

3 tools
find_plugin_opportunitiesFind WordPress plugin opportunitiesA

Find WordPress (or WooCommerce) plugins that are commercial opportunities — large, established user bases paired with abandonment, low ratings, or poor support, i.e. plugins you could realistically replace or out-build. Use a preset for a curated angle, and/or narrow by tag (niche), install range, and max rating. Returns a ranked, capped list with opportunity scores. Powered by wpgoldmine.io.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoNarrow to a niche by WordPress.org tag/slug, e.g. "seo", "forms", "backup".
presetNoA preset key from list_opportunity_presets (e.g. "abandoned-plugins"). Composes with `tag`.
ecosystemNoWhich catalog to search. Defaults to wordpress.
max_ratingNoMaximum rating on a 0-100 scale (lower = more dissatisfied users).
max_installsNoMaximum active installs (exclusive).
min_installsNoMinimum active installs.

TDQS

A4.2/5.0
Behavior3/5

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

No annotations exist, so the description carries full burden. It discloses returns are 'ranked, capped list with opportunity scores' and mentions an external data source. However, it lacks details on rate limits, authentication needs, or data freshness, which would be helpful.

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?

Three sentences, front-loaded with purpose, then usage, then return value. No redundancy, every sentence earns its place.

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?

With 6 parameters and no output schema, the description explains what the tool returns (ranked, capped list with opportunity scores). It could mention potential limits like page size, but for a discovery tool this is adequate.

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?

Schema coverage is 100%, baseline 3. The description adds meaning by explaining that 'preset' provides a curated angle and composes with 'tag', which goes beyond the schema's basic property 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 the tool finds WordPress/WooCommerce plugins that are commercial opportunities, with specific criteria (large user bases, abandonment, low ratings). It differentiates from siblings 'get_plugin' and 'list_opportunity_presets' by focusing on opportunity discovery.

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 gives explicit usage guidance: 'Use a preset for a curated angle, and/or narrow by tag, install range, and max rating.' It doesn't explicitly state when not to use, but clarity on composition with presets and tags is sufficient.

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

get_pluginGet plugin opportunity detailA

Get the opportunity snapshot for one plugin by its WordPress.org slug: installs, rating, last-updated, support resolution, and opportunity/abandonment/monetization scores. Powered by wpgoldmine.io.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe plugin slug, e.g. "easy-google-fonts".

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It indicates a read operation (Get) and lists returned fields, but does not disclose potential error handling (e.g., invalid slug), rate limits, or external dependency behavior beyond 'Powered by wpgoldmine.io'.

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?

Two sentences, front-loaded with the core purpose, followed by a source attribution. No wasted words; every part is meaningful.

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 description covers what the tool returns and how to use it. Minor gap: does not specify behavior when slug is not found or if data is unavailable. However, for a simple fetch tool, this is 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% with the slug parameter described. The description adds the phrase 'by its WordPress.org slug' and an example, but these add minimal value beyond the schema's own description. Baseline score 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?

Description explicitly states the verb 'Get' and resource 'opportunity snapshot for one plugin', lists specific data fields (installs, rating, etc.), and the title confirms 'Get plugin opportunity detail'. The sibling tools find_plugin_opportunities and list_opportunity_presets suggest different scopes (searching vs. listing), making this tool distinct.

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 implies usage when a specific plugin slug is known, as it requires the slug parameter. However, it does not explicitly state when not to use it or mention alternatives like find_plugin_opportunities for searching.

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

list_opportunity_presetsList plugin opportunity presetsA

List the named opportunity presets (e.g. abandoned-plugins, low-rated-popular, beatable-niche) you can pass to find_plugin_opportunities. Each preset is a curated query over the WordPress.org plugin directory for commercially takeable plugins. Powered by wpgoldmine.io.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
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 discloses that presets are curated queries powered by wpgoldmine.io, which adds transparency. However, it doesn't mention potential side effects like network dependency or whether results are cached.

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?

Two sentences with no redundancy. The first sentence gives concrete examples, the second explains purpose and source. 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?

For a zero-parameter list tool with no output schema, the description covers what it returns (named presets), their purpose, and data source. It is complete for an AI agent to understand and invoke correctly.

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 schema coverage is 100% by default. Baseline is 4. The description adds value by providing example preset names and linking to the sibling tool, clarifying how the output is used.

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 'list' as the verb and 'opportunity presets' as the resource, with concrete examples (abandoned-plugins, low-rated-popular, beatable-niche). It differentiates from siblings by mentioning it's for passing to find_plugin_opportunities.

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?

Explicitly says these presets can be passed to find_plugin_opportunities, providing context for when to use this tool. Does not include exclusions or alternative scenarios, but for a simple list tool this is sufficient.

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.

  1. 3 tool updatesv0.1.0
    • First observedfind_plugin_opportunities
    • First observedget_plugin
    • First observedlist_opportunity_presets

TDQS

A4.3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: finding opportunities, getting details for a single plugin, and listing presets. There is no overlap, and descriptions clearly differentiate them.

Naming Consistency5/5

All tool names use snake_case with a verb_noun pattern (find, get, list) and are consistent in style and structure.

Tool Count4/5

With only 3 tools, the set is minimal but appropriate for the niche domain of discovering plugin opportunities. The core functionality (discover, detail, preset list) is covered without unnecessary bloat.

Completeness5/5

The tools provide a complete workflow for the declared purpose: listing presets, finding opportunities using those presets or custom criteria, and retrieving detailed info on a specific plugin. No obvious gaps for discovery.

Related MCP Connectors

Related MCP Servers