# KDP Niche Research

> Kindle niche intelligence (demand/competition/BSR/revenue) gated by x402 USDC on Base.

- name: io.github.simul813/kdp-niche-research
- version: 0.2.0
- connection class: R0 (autonomous)
- trust: 90/100
- quality: 76/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.simul813%2Fkdp-niche-research
- tools: https://api.protogrid.dev/v1/servers/io.github.simul813%2Fkdp-niche-research/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "kdp-niche-research": {
      "type": "http",
      "url": "https://nichedata.dev/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 65
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-171d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 76/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 64 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_niches (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); research_niche (readOnlyHint, destructiveHint, idempotentHint, openWorldHint)
- pass `tools.token_cost`: about 469 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 2, about 469 tokens to load them all
- tool set hash: f0770e66cf94df881e2a1bef8f0ea3f0
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.simul813/kdp-niche-research.svg)](https://protogrid.dev/servers/io.github.simul813/kdp-niche-research)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://nichedata.dev/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (2)

- `list_niches`: List available KDP niche keywords ordered by demand score.

    Use this to discover what Kindle publishing niches are available for
    detailed research. Returns keywords ordered by demand score (highest first).

    This endpoint is free — no payment required.

    Args:
        limit: Number of results to return (1-100, default 20)
        offset: Pagination offset (default 0)
    
- `research_niche`: Get detailed KDP niche intelligence for a specific keyword.

    Returns demand score, competition score, Amazon BSR range, estimated
    monthly revenue, review threshold, average book pricing, and data
    freshness for the given Kindle publishing niche.

    Pricing tiers (x402 USDC on Base network):
      - $0.03 per query for cached/pre-seeded keywords
      - $0.10 per query for live on-demand research (new keywords)

    Use the free `list_niches` tool first to see available keywords.

    Payment options:
      1. Set the KDP_X_PAYMENT environment variable on the server for auto-pay.
      2. Pass a valid x402 payment header via the x_payment argument.
      3. If neither is set, the tool returns structured 402 payment instructions
         that an x402-capable agent can use to construct and retry payment.

    Args:
        keyword: The KDP niche keyword to research (e.g. "romance novels", "keto cookbook")
        x_payment: Optional base64-encoded x402 payment header. Takes precedence
                   over the KDP_X_PAYMENT environment variable.
    
