NicheDB
REMOTE · NICHEDB.DEV · 2 COMPONENTS · SCANNED SEP 25
Sources in, feeds out: an open, ever-growing database of real-time public data, enriched.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 21 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability83
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2407 tokens (~109/item across 22 items; 21 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management67
- Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 93% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the NicheDB MCP server?
NicheDB is a hosted endpoint at https://nichedb.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · nichedb.dev
claude mcp add --transport http dev-nichedb-nichedb 'https://nichedb.dev/mcp'
{
"mcpServers": {
"dev-nichedb-nichedb": {
"url": "https://nichedb.dev/mcp"
}
}
} {
"servers": {
"dev-nichedb-nichedb": {
"type": "http",
"url": "https://nichedb.dev/mcp"
}
}
} [mcp_servers.dev-nichedb-nichedb] url = "https://nichedb.dev/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"dev-nichedb-nichedb": {
"type": "remote",
"url": "https://nichedb.dev/mcp",
"enabled": true
}
}
} openclaw mcp add dev-nichedb-nichedb --url 'https://nichedb.dev/mcp' --transport streamable-http
mcp_servers:
dev-nichedb-nichedb:
url: "https://nichedb.dev/mcp" {
"McpServers": {
"dev-nichedb-nichedb": {
"Transport": "http",
"Url": "https://nichedb.dev/mcp"
}
}
} assistant mcp add dev-nichedb-nichedb -t streamable-http -u 'https://nichedb.dev/mcp'
{
"mcpServers": {
"dev-nichedb-nichedb": {
"type": "http",
"url": "https://nichedb.dev/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 22 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 0
- Tool coverage: 98% → 93% ▼ functional
- Schema quality: pass → fail ▼ functional
- New tool “claim_profile” functional
- New tool “get_profile” functional
- New tool “search_profiles” functional
- New tool “update_profile” functional
- “create_feed” added an optional parameter “sort” cosmetic
- “create_feed” added an optional parameter “unit” cosmetic
- “feed_items” added an optional parameter “bbox” cosmetic
- “feed_items” added an optional parameter “lat” cosmetic
- “feed_items” added an optional parameter “offset” cosmetic
- “feed_items” added an optional parameter “radius” cosmetic
- “feed_items” added an optional parameter “sort” cosmetic
- “feed_items” added an optional parameter “unit” cosmetic
- “match_items” added an optional parameter “bbox” cosmetic
- “match_items” added an optional parameter “lat” cosmetic
- “match_items” added an optional parameter “long” cosmetic
- “match_items” added an optional parameter “radius” cosmetic
- “match_items” added an optional parameter “sort” cosmetic
- “match_items” added an optional parameter “unit” cosmetic
- “recent_items” added an optional parameter “bbox” cosmetic
- “recent_items” added an optional parameter “lat” cosmetic
- “recent_items” added an optional parameter “long” cosmetic
- “recent_items” added an optional parameter “offset” cosmetic
- “recent_items” added an optional parameter “radius” cosmetic
- “recent_items” added an optional parameter “sort” cosmetic
- “recent_items” added an optional parameter “unit” cosmetic
- “search_items” added an optional parameter “bbox” cosmetic
- “search_items” added an optional parameter “lat” cosmetic
- “search_items” added an optional parameter “long” cosmetic
- “search_items” added an optional parameter “radius” cosmetic
- “search_items” added an optional parameter “sort” cosmetic
- “search_items” added an optional parameter “unit” cosmetic
- “upcoming” added an optional parameter “bbox” cosmetic
- “upcoming” added an optional parameter “lat” cosmetic
- “upcoming” added an optional parameter “long” cosmetic
- “upcoming” added an optional parameter “radius” cosmetic
- “upcoming” added an optional parameter “sort” cosmetic
- “upcoming” added an optional parameter “unit” cosmetic
- “feed_items” added an optional parameter “long” cosmetic
- “create_feed” added an optional parameter “bbox” cosmetic
- “create_feed” added an optional parameter “lat” cosmetic
- “create_feed” added an optional parameter “long” cosmetic
- “create_feed” added an optional parameter “radius” cosmetic
- “feed_items” reworded the description of “before_id” cosmetic
- “recent_items” reworded the description of “before_id” cosmetic
- 13 Sept 26 +1
- New tool “submit_feed” functional
- 11 Sept 26 +1
- Schema quality: 64 → 75 ▼ functional
- New tool “match_items” functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Sept 2026 · Probed https://nichedb.dev/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=nichedb.dev | CN=YE2,O=Let's Encrypt,C=US | 24 Sept 2026 | 23 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 557422d236b6393694ebfbbe446613c50ce |
| SANs: nichedb.dev, www.nichedb.dev | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of nichedb.dev. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| dev. | present | 60074 | 8 | Verified |
| nichedb.dev. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://nichedb.dev/mcp | Verified | 200 | |
| http (plaintext) | http://nichedb.dev/mcp | HTTPS enforced | 301 | https://nichedb.dev/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_source ~104
Add a source: an adapter with a config, fetched on a schedule (needs a key; admins and Pro). Call list_adapters first for the fields.
| Name | Type | Req | Description |
|---|---|---|---|
| adapter | string | yes | Adapter name, e.g. github-releases |
| cadence_minutes | integer | – | 5 to 1440 |
| collection | string | – | Collection slug; defaults to the adapter's |
| config | object | – | Adapter config fields |
| name | string | – | Display name |
No output schema declared.
No examples provided.
claim_profile ~93
Claim a profile as the key owner (needs a key). Proven when the key owner’s email is one the profile lists, or when the person’s site or show page links back to the profile’s nichedb page. An admin may claim on behalf of an email.
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | Admins only: claim it for this email | |
| ref | string | yes | Profile id, slug-id or handle |
No output schema declared.
No examples provided.
create_feed ~221
Save a query as a feed (needs a key). Sources, kinds and tags narrow; q is a text match; upcoming keeps only future-dated items.
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | string | – | west,south,east,north; west > east crosses the antimeridian |
| collection | string | yes | Collection slug |
| description | string | – | Optional |
| enrichers | array | – | Enrichers to show; omit for the collection defaults |
| kinds | array | – | Item kinds |
| lat | number | – | Query center latitude; requires long |
| long | number | – | Query center longitude; requires lat |
| name | string | yes | Feed name |
| public | boolean | – | Default true |
| q | string | – | Text match |
| radius | number | – | Default 10; maximum 1000 km |
| sort | string | – | – |
| sources | array | – | Source slugs |
| tags | array | – | Tags, any match |
| unit | string | – | Default km |
| upcoming | boolean | – | – |
No output schema declared.
No examples provided.
feed_items ~152
What a feed selects, newest first. Page with before_id.
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | string | – | west,south,east,north; west > east crosses the antimeridian |
| before_id | integer | – | Keyset cursor; cannot combine with distance sorting |
| feed | string | yes | Feed slug |
| lat | number | – | Query center latitude; requires long |
| limit | integer | – | Default 30, max 200 |
| long | number | – | Query center longitude; requires lat |
| offset | integer | – | Distance pagination offset |
| radius | number | – | Default 10; maximum 1000 km |
| sort | string | – | – |
| unit | string | – | Default km |
No output schema declared.
No examples provided.
follow_feed ~75
Follow a feed as the key owner (needs a key). Channels: webpush, email, webhook.
| Name | Type | Req | Description |
|---|---|---|---|
| channels | array | – | Default webpush,email |
| feed | string | yes | Feed slug |
| webhook_secret | string | – | Shared secret the receiver verifies with |
| webhook_url | string | – | For the webhook channel |
No output schema declared.
No examples provided.
get_item ~25
One item with its full adapter payload.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Item id |
No output schema declared.
No examples provided.
get_profile ~47
One person by id, `<slug>-<id>` or handle: the parsed view and the OpenProfile.md as served.
| Name | Type | Req | Description |
|---|---|---|---|
| ref | string | yes | Profile id, slug-id or handle |
No output schema declared.
No examples provided.
list_adapters ~28
Every adapter this deployment can run, with the config fields each takes. Use before add_source.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_collections ~24
The collections (niches) with their source, feed and item counts.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_enrichers ~51
Every enricher (YouTube videos, Wikipedia, repo stats, downloads, company profiles, TL;DRs) and which collections turn it on by default. Items carry their results under `enrichment`.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_feeds ~30
Public feeds, most followed first. Optionally one collection.
| Name | Type | Req | Description |
|---|---|---|---|
| collection | string | – | Collection slug |
No output schema declared.
No examples provided.
list_sources ~37
Sources with status, last run and item counts. Optionally one collection.
| Name | Type | Req | Description |
|---|---|---|---|
| collection | string | – | Collection slug, e.g. games |
No output schema declared.
No examples provided.
match_items ~332
Which title, channel or fixture is this name? Give a file name, a release name or a playlist entry ("Top.Gun.Maverick.2022.1080p.mkv", "US: ESPN2 HD"); it is cleaned (year, season and episode, quality tags, playlist decorations) and matched by similarity. A matchup ("NFL: Chiefs vs Bills", "Lakers @ Celtics", "Rangers at Celtic 19:45") is answered by the fixture whose two teams those are, kicking off between 36 hours ago and 7 days ahead unless date narrows it. Each result carries a score in 0..1. Use screen for films and TV, channels for television channels, sports for fixtures.
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | string | – | west,south,east,north; west > east crosses the antimeridian |
| collection | string | – | Collection slug: screen, channels or sports |
| date | string | – | A day (YYYY-MM-DD) to look for a fixture on, plus a day either side |
| kind | string | – | Item kind: title, channel, fixture |
| lat | number | – | Query center latitude; requires long |
| limit | integer | – | Default 5, max 50 |
| long | number | – | Query center longitude; requires lat |
| q | string | yes | The name as written |
| radius | number | – | Default 10; maximum 1000 km |
| sort | string | – | – |
| unit | string | – | Default km |
| year | integer | – | A year to prefer, when known |
No output schema declared.
No examples provided.
recent_items ~171
Newest items, optionally narrowed to a collection, source or kind.
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | string | – | west,south,east,north; west > east crosses the antimeridian |
| before_id | integer | – | Keyset cursor; cannot combine with distance sorting |
| collection | string | – | Collection slug |
| kind | string | – | Item kind |
| lat | number | – | Query center latitude; requires long |
| limit | integer | – | Default 30, max 200 |
| long | number | – | Query center longitude; requires lat |
| offset | integer | – | Distance pagination offset |
| radius | number | – | Default 10; maximum 1000 km |
| sort | string | – | – |
| source | string | – | Source slug |
| unit | string | – | Default km |
No output schema declared.
No examples provided.
run_source ~36
Fetch a source now instead of waiting for its schedule (needs a key; owner or admin).
| Name | Type | Req | Description |
|---|---|---|---|
| source | string | yes | Source slug |
No output schema declared.
No examples provided.
search_items ~148
Full-text search over titles, summaries and tags. Use this first when you know a name.
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | string | – | west,south,east,north; west > east crosses the antimeridian |
| collection | string | – | Collection slug |
| kind | string | – | Item kind |
| lat | number | – | Query center latitude; requires long |
| limit | integer | – | Default 20, max 100 |
| long | number | – | Query center longitude; requires lat |
| q | string | yes | Query |
| radius | number | – | Default 10; maximum 1000 km |
| sort | string | – | – |
| unit | string | – | Default km |
No output schema declared.
No examples provided.
search_profiles ~127
People: one entry per person assembled from every app that serves their OpenProfile.md (podcasters from p0dcasters, public profiles from OutreachGraph). Search by name, headline or anything in the document; newest change first. Each answer carries the page, the openprofile.md URL, accounts, topics, Broadcast shows and the Guest section.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Default 30, max 200 |
| q | string | – | Text to match against the name, headline and document (optional) |
| since | string | – | ISO time: only profiles changed after it (optional) |
No output schema declared.
No examples provided.
stats ~24
What this deployment holds: collections, sources, items, items added today, feeds.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
submit_feed ~126
Suggest an RSS or Atom feed for the index. No key needed. An admin reviews every suggestion before anything is fetched; approved podcast feeds are handed to rssamplifier, everything else becomes a source here.
| Name | Type | Req | Description |
|---|---|---|---|
| collection | string | – | Collection slug it belongs in (optional; an admin decides otherwise) |
| string | – | Where to hear back, if you are not sending a key (optional) | |
| note | string | – | Why it belongs here: who publishes it, what it covers (optional) |
| url | string | yes | The feed URL, starting with https:// |
No output schema declared.
No examples provided.
upcoming ~136
Items dated in the future (releases, launches, deadlines), soonest first.
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | string | – | west,south,east,north; west > east crosses the antimeridian |
| collection | string | – | Collection slug |
| days | integer | – | Horizon, default 30 |
| lat | number | – | Query center latitude; requires long |
| limit | integer | – | Default 50 |
| long | number | – | Query center longitude; requires lat |
| radius | number | – | Default 10; maximum 1000 km |
| sort | string | – | – |
| unit | string | – | Default km |
No output schema declared.
No examples provided.
update_profile ~208
Edit a profile you own (needs a key). Send `markdown`, a whole OpenProfile.md that replaces what you wrote before, or any of `name`, `headline`, `identity` (key: value, null removes), `sections` (name: body, `none` removes), `handle`, `public`. What you write wins over every source and survives every re-read.
| Name | Type | Req | Description |
|---|---|---|---|
| handle | string | – | Your URL: /c/profiles/<handle> |
| headline | string | – | One line |
| identity | object | – | Identity keys: Kind, Web, Email, Location, ...; null removes |
| markdown | string | – | A complete OpenProfile.md |
| name | string | – | The name |
| public | boolean | – | Listed and pulled by other directories |
| ref | string | yes | Profile id, slug-id or handle |
| sections | object | – | Section bodies by name (accounts, topics, broadcast, guest, ...); the word none removes one |
No output schema declared.
No examples provided.
What is the NicheDB MCP server?
NicheDB is an MCP server listed in the public MCP registry as dev.nichedb/nichedb. Sources in, feeds out: an open, ever-growing database of real-time public data, enriched. This page covers its hosted endpoint (https://nichedb.dev/mcp).
Is the NicheDB MCP server safe to use?
NicheDB scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the NicheDB MCP server expose?
NicheDB exposes 21 tools: stats, list_collections, list_adapters, list_enrichers, list_sources, and 16 more. Their descriptions and schemas cost roughly 2,195 tokens of context every time the server is loaded.
Does the NicheDB MCP server require authentication?
No. We connected to NicheDB without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the NicheDB MCP server still maintained?
NicheDB is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.