{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_wkvexstzby2j","handle":"realy-mcp","url":"https://wellknown.network/agents/realy-mcp","links":{"self":"https://wellknown.network/agents/realy-mcp/record.json","html":"https://wellknown.network/agents/realy-mcp","markdown":"https://wellknown.network/agents/realy-mcp/record.md","api":"https://wellknown.network/api/v1/agents/realy-mcp","status":"https://wellknown.network/api/v1/agents/realy-mcp/status","claim":"https://wellknown.network/agents/realy-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/realy-mcp/claim.json","badge":"https://wellknown.network/agents/realy-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:realy-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"realy-mcp","summary":"MCP server exposing Realy's validated table-operation retrieval agent over a customer-owned database.","description":"# realy-mcp\n\nAn MCP server that answers natural-language questions about **your** database by\ncomposing validated table operations, and returns typed rows plus a reviewable\ntrace of every step.\n\nYou run it. In your environment. Against your database. On your model\ncredentials. Nothing is sent anywhere you did not configure — see\n[docs/THREAT_MODEL.md](docs/THREAT_MODEL.md).\n\n---\n\n## Install\n\n```bash\npip install \"realy-mcp[openai,postgres]\"\n```\n\nExtras select what gets installed: providers (`openai`, `anthropic`, `google`,\n`groq`) and the optional DuckDB backend (`duckdb`). PostgreSQL/psycopg is included by default;\n`postgres` remains a compatibility extra. Pick only what you use — a\ncustomer on Azure OpenAI never has an Anthropic SDK on disk.\n\nPython 3.10–3.13. The install is a database driver and an SDK; there is no\npandas, no numpy, no ML stack.\n\n## Configure\n\nCreate [`realy.toml`] and edit it. An example:\n\n```toml\n[connection]\nid = \"main\"\nurl_env = \"REALY_DB_URL\"          # env var NAME, not the URL\nread_only = true\n\n[[connection.tables]]\nname = \"claims\"\nsource_table = \"v_claims_scoped\"  # a view you control\ndescription = \"One row per submitted claim. `amount` is USD...\"\n\n[model]\nprovider = \"openai\"\nmodel = \"gpt-4o\"\napi_key_env = \"REALY_MODEL_API_KEY\"\nbase_url = \"https://my-azure.openai.azure.com/v1\"   # optional\n```\n\nTwo things to get right:\n\n**Secrets are named, not written.** `url_env` and `api_key_env` hold the *names*\nof environment variables. The config file itself contains no credentials, so it\ncan be committed and reviewed.\n\n**`description` is the highest-value field in the file.** It is what the calling\nagent reads to decide whether a question is answerable here, and what stops the\nagent guessing at a column's meaning. Write it as if explaining the table to a\nnew analyst — including the traps (\"`paid_amount` is NULL until settlement\").\n\nSet up these enviroment variables:\n\n```bash\nexport REALY_DB_URL='postgresql+psycopg://realy_ro:...@db.internal/warehou…","publisher":null,"homepage":null,"repository":null,"version":"0.1.2","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:realy-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"data.database","name":"Databases","confidence":1,"provenance":"derived"},{"slug":"security.secrets","name":"Secrets Management","confidence":0.848,"provenance":"derived"}],"categories":["data","security"],"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":"realy-mcp","registry":"pypi","observedAt":"2026-09-10T11:28:13.367Z","publishedAt":"2026-09-08T02:21:10.257507Z","latestVersion":"0.1.2"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"realy-mcp","url":"https://pypi.org/project/realy-mcp/","firstSeenAt":"2026-09-10T11:26:14.318Z","fetchedAt":"2026-09-10T11:26:14.318Z","normalizedAt":"2026-09-10T11:26:14.318Z"}]},"firstSeenAt":"2026-09-10T11:26:14.318Z","updatedAt":"2026-09-10T11:28:13.367Z"}