{"apiVersion":"v1","directorySlug":"opfy-mcp-d7a336e42b","title":"OPFY","description":null,"pageUrl":"https://www.mcpbundles.com/skills/opfy-mcp-d7a336e42b","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.opfy.com.br/mcp","hostedMcpUrl":null,"toolCount":9,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"br.com.opfy/opfy-mcp-d7a336e42b","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"list_relays","description":"The relays this catalog knows: MCP servers reachable over HTTP, with what each offers. Filter by a word, a tag, or online only.","inputSchema":{"type":"object","required":[],"properties":{"q":{"type":"string"},"tag":{"type":"string"},"limit":{"type":"integer"},"online":{"type":"boolean"}},"additionalProperties":false},"title":"List relays","logicalName":"list_relays","displayName":"List relays","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_relay","description":"One relay in full: its descriptor, its tools with their schemas, and whether it is online and verified.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}},"additionalProperties":false},"title":"Get a relay","logicalName":"get_relay","displayName":"Get a relay","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"find_tool","description":"Search every online relay's tools by name or description. Answers with the relay each one lives on, for call_tool.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string"},"limit":{"type":"integer"}},"additionalProperties":false},"title":"Find a tool","logicalName":"find_tool","displayName":"Find a tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"call_tool","description":"Call a tool on a relay through this catalog. The relay's answer comes back as-is. If the relay needs a credential, pass it as token; it is sent to the relay and never kept.","inputSchema":{"type":"object","required":["relay","tool"],"properties":{"tool":{"type":"string"},"relay":{"type":"string"},"token":{"type":"string"},"arguments":{"type":"object","additionalProperties":true}},"additionalProperties":false},"title":"Call a relay's tool","logicalName":"call_tool","displayName":"Call a relay's tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"register_relay","description":"Add an MCP server to the catalog by URL: its /.well-known/openmcp.json, its MCP endpoint, or its site. The catalog probes it and lists what it found; nothing is taken on trust.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}},"additionalProperties":false},"title":"Register a relay","logicalName":"register_relay","displayName":"Register a relay","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"refresh_relay","description":"Probe a relay again now and update its record.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}},"additionalProperties":false},"title":"Refresh a relay","logicalName":"refresh_relay","displayName":"Refresh a relay","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"subscribe","description":"Get a POST when relays change: relay.registered, relay.updated, relay.online, relay.offline, relay.removed. Deliveries are signed with the secret (X-OpenMCP-Signature: sha256=hmac of the body). The id that comes back is the only way to manage the subscription; keep it.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string"},"events":{"type":"array","items":{"type":"string"}},"relays":{"type":"array","items":{"type":"string"}},"secret":{"type":"string"}},"additionalProperties":false},"title":"Subscribe to catalog events","logicalName":"subscribe","displayName":"Subscribe to catalog events","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"unsubscribe","description":"Remove a webhook subscription by id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}},"additionalProperties":false},"title":"Unsubscribe","logicalName":"unsubscribe","displayName":"Unsubscribe","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_peers","description":"Other catalogs this one syncs relays from.","inputSchema":{"type":"object","required":[],"properties":{},"additionalProperties":false},"title":"List peer catalogs","logicalName":"list_peers","displayName":"List peer catalogs","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=OPFY&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3Aub3BmeS5jb20uYnIvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22OPFY%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.opfy.com.br%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22OPFY%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.opfy.com.br%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=OPFY&connectorUrl=https%3A%2F%2Fmcp.opfy.com.br%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"OPFY\" --url \"https://mcp.opfy.com.br/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/opfy-mcp-d7a336e42b","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/opfy-mcp-d7a336e42b/tools/{tool}","mcpServerUrl":"https://mcp.opfy.com.br/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/opfy-mcp-d7a336e42b?live=1"}