{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_2prqu5p4tucg","handle":"opteryx-mcp","url":"https://wellknown.network/agents/opteryx-mcp","links":{"self":"https://wellknown.network/agents/opteryx-mcp/record.json","html":"https://wellknown.network/agents/opteryx-mcp","markdown":"https://wellknown.network/agents/opteryx-mcp/record.md","api":"https://wellknown.network/api/v1/agents/opteryx-mcp","status":"https://wellknown.network/api/v1/agents/opteryx-mcp/status","claim":"https://wellknown.network/agents/opteryx-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/opteryx-mcp/claim.json","badge":"https://wellknown.network/agents/opteryx-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/opteryx-mcp/history","tools":"https://wellknown.network/api/v1/agents/opteryx-mcp/tools"},"ard":{"identifier":"urn:air::server:opteryx-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"opteryx-mcp","summary":"Connect MCP clients such as Claude Desktop to the Opteryx data platform","description":"# opteryx-mcp\n\nConnect Claude Desktop, Claude Code and other MCP clients to\n[Opteryx](https://opteryx.app). Ask questions about your data in plain English;\nthe assistant finds datasets, reads schemas, queries, and checks Opteryx SQL,\nall as you and against only the data you can see.\n\n```bash\nuvx opteryx-mcp login --user <user>\n```\n\n## Why a local bridge\n\nThe Opteryx MCP endpoint (`https://agent.opteryx.app/mcp/`) takes a bearer\ntoken, and access tokens last five minutes. A token pasted into a client's\nconfig stops working almost immediately. `opteryx-mcp` holds a **user** and a\n**personal access token** instead, exchanges them for a fresh access token a\nminute before each one expires, and forwards everything the client sends.\nIt also re-mints if a token is rejected, and re-opens the MCP session if the\nserver forgets it.\n\nIt has no dependencies beyond the Python standard library.\n\n## Setup\n\n### 1. Create a personal access token\n\nIn Opteryx Studio, open **Settings** and create a personal access token. It\nlooks like `opt_..._01`, lasts 90 days by default, and is shown once.\n\n### 2. Store it\n\nOn macOS, `login` stores the token in the Keychain and checks it works.\n`security` prompts for the token, so it never appears in shell history:\n\n```bash\nuvx opteryx-mcp login --user <user>\n```\n\n```\nConnected to https://agent.opteryx.app/mcp/ as <user>.\n7 tools: search_datasets, get_dataset_schema, query_dataset, profile_column, lookup_sql_syntax, search_docs, validate_sql\n```\n\nRun it again to replace an expired token. On other platforms, set\n`OPTERYX_TOKEN` in the client's config instead.\n\n### 3. Add it to your client\n\n**Claude Desktop.** Print the config entry:\n\n```bash\nuvx opteryx-mcp config --user <user>\n```\n\nThen **quit Claude Desktop (Cmd-Q)** and merge the entry into\n`~/Library/Application Support/Claude/claude_desktop_config.json`, keeping the\nfile's other keys. Desktop rewrites that file when it quits, so an entry added\nwhile it is running is silently dropped. The entry lo…","publisher":null,"homepage":"https://opteryx.app","repository":"https://github.com/mabel-dev/opteryx-mcp","version":"0.1.0","license":"Apache License\n                                   Version 2.0, …","protocols":["mcp"],"tags":["opteryx","mcp","model","context","protocol","claude"],"pricing":null,"endpoints":[{"url":"pypi:opteryx-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.745,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":0.733,"provenance":"derived"}],"categories":["data","dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"opteryx-mcp","registry":"pypi","observedAt":"2026-10-24T18:28:55.116Z","publishedAt":"2026-10-05T15:19:27.085623Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"opteryx-mcp","url":"https://pypi.org/project/opteryx-mcp/","firstSeenAt":"2026-10-06T13:23:34.105Z","fetchedAt":"2026-10-24T18:27:57.192Z","normalizedAt":"2026-10-24T18:27:57.192Z"}]},"firstSeenAt":"2026-10-06T13:23:34.105Z","updatedAt":"2026-10-24T18:28:55.116Z"}