mcp-registry/io.github.ptrinh/freeport-nostr · v0.6.9
As of 2026-10-25 05:41 UTC, the Ptrinh Freeport Nostr MCP server is down with a Glimind reliability score of 38/100 (grade F). Over the last 30 days it answered 99.7% of Glimind's liveness checks. It had 10 outages in 90 days, with a median recovery of 4 minutes.
Search Freeport Nostr events by kind, tag & geohash radius (rides, services, reputation).
Point your MCP client at this streamable-http endpoint: https://nostr-mcp.trinh.uk/mcp
The endpoint did not complete an MCP handshake.
Check the URL, TLS certificate and that the server answers a JSON-RPC "initialize" POST. How to fix →
6 of 6 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
13 parameter(s) across 5 tool(s) have no description.
Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →
1 tool(s) have parameters with no type (no type/enum/anyOf/$ref).
Give every parameter a "type" (or "enum"/"anyOf"). Untyped parameters make models guess — strings for numbers, objects for arrays. How to fix →
1 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.
Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 5 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fio.github.ptrinh%2Ffreeport-nostr/fixes
{
"name": "freeport_create_post",
"description": "Publish a Freeport intent — an OFFER (side \"offer\": driver/provider/seller) or a REQUEST (side \"request\": rider/buyer). Provide EITHER a `secretKey` (nsec or hex — the server builds, signs and publishes; use a DEDICATED agent key, never a personal one — it is used once and never stored) OR a pre-signed `event` (you sign locally; nothing secret reaches the server). Strict rate limits apply. Returns the published event id + addressable `d`.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"d": {
"type": "string",
"description": "Stable id to republish/replace an existing post; defaults to random."
},
"side": {
"enum": [
"offer",
"request"
],
"type": "string",
"description": "offer = provider/seller/driver; request = buyer/rider."
},
"event": {
"description": "A complete, signed Nostr event (kind 32101/32102). Use instead of secretKey to keep keys off the server.",
"type": "string"
},
"title": {
"type": "string",
"maxLength": 200
},
"market": {
"type": "string",
"description": "Market key, e.g. \"rideshare\" or \"service\"."
},
"relays": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10
},
"schema": {
"type": "string",
"description": "Payload schema, e.g. \"rideshare/1\" or \"service/1\"."
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 8,
"description": "Topic `t` tags (area/category), e.g. [\"vn_hanoi\",\"vn_hanoi_ridesharing\"]."
},
"window": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "integer"
},
"start": {
"type": "integer"
}
},
"additionalProperties": false
},
"payload": {
"type": "object",
"description": "Intent payload (from/to/location, payment, etc.) per the freeport://protocol resource.",
"additionalProperties": {}
},
"geohashes": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 8,
"description": "Geohashes for location-scoped discovery. Each is expanded into all its prefixes (precision 1-6) so radius searches at any precision match."
},
"secretKey": {
"type": "string",
"description": "nsec or 64-hex private key. Used transiently to sign; never stored. Omit if passing a pre-signed `event`."
},
"expiresInMinutes": {
"type": "integer",
"maximum": 43200,
"minimum": 5,
"description": "How long the post stays live (default 720). Max 30 days."
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false
}
}{
"name": "nostr_get_event",
"description": "Fetch one or more events by id. Returns the raw signed events.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"minItems": 1
},
"relays": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Override the relay set for this call (ws/wss URLs, max 10). Defaults to the server relays."
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "nostr_query_raw",
"description": "Escape hatch: run an arbitrary NIP-01 filter (kinds/authors/ids/tags/since/until/limit). Use the typed tools above when they fit. Returns raw signed events.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"tags": {
"type": "object",
"description": "Tag filters, e.g. {\"t\":[\"vn_hanoi\"],\"g\":[\"w3gv\"]}. Keys are single tag letters.",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"kinds": {
"type": "array",
"items": {
"type": "integer"
}
},
"limit": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1
},
"since": {
"type": "integer"
},
"until": {
"type": "integer"
},
"relays": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Override the relay set for this call (ws/wss URLs, max 10). Defaults to the server relays."
},
"authors": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/io.github.ptrinh/freeport-nostr"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/io.github.ptrinh/freeport-nostr"}) over MCP.
freeport_create_post ~628 tokensnostr_search_intents ~469 tokensnostr_query_raw ~270 tokensnostr_profile ~246 tokensnostr_search_reputation ~222 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fio.github.ptrinh%2Ffreeport-nostr?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fio.github.ptrinh%2Ffreeport-nostr?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.ptrinh%2Ffreeport-nostr.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.ptrinh%2Ffreeport-nostr.svg :target: https://glimind.com/server/mcp-registry%2Fio.github.ptrinh%2Ffreeport-nostr?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:9e8e41f1a6285973…, first seen 2026-10-17, included at leaf 6173 of 75,332. Version history · verify what your client received.
Compare: most reliable communication servers · most reliable retrieval servers · most reliable search servers · most reliable knowledge servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-25 05:41 UTC, the Ptrinh Freeport Nostr MCP server is down with a Glimind reliability score of 38/100 (grade F). Over the last 30 days it answered 99.7% of Glimind's liveness checks. It had 10 outages in 90 days, with a median recovery of 4 minutes.
Ptrinh Freeport Nostr MCP server advertises 6 tools, including freeport_create_post, nostr_get_event, nostr_profile, nostr_query_raw, nostr_search_intents.
Point your MCP client at this streamable-http endpoint: https://nostr-mcp.trinh.uk/mcp
Glimind scanned all 6 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.