{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_rc8qjh6a43nu","handle":"raynet-mcp","url":"https://wellknown.network/agents/raynet-mcp","links":{"self":"https://wellknown.network/agents/raynet-mcp/record.json","html":"https://wellknown.network/agents/raynet-mcp","markdown":"https://wellknown.network/agents/raynet-mcp/record.md","api":"https://wellknown.network/api/v1/agents/raynet-mcp","status":"https://wellknown.network/api/v1/agents/raynet-mcp/status","claim":"https://wellknown.network/agents/raynet-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/raynet-mcp/claim.json","badge":"https://wellknown.network/agents/raynet-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/raynet-mcp/history","tools":"https://wellknown.network/api/v1/agents/raynet-mcp/tools"},"ard":{"identifier":"urn:air::server:raynet-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"raynet-mcp","summary":"MCP server exposing the Raynet CRM REST API to an LLM agent over stdio","description":"# Raynet MCP\n\nAn [MCP](https://modelcontextprotocol.io) server that exposes the\n[Raynet CRM](https://raynet.cz) REST API to an LLM agent over stdio, built with\n[FastMCP](https://gofastmcp.com).\n\nThe server exposes **32 read tools and 27 write tools** covering business\ncases, companies, people, leads, activities (meetings, tasks, events, phone\ncalls, e-mails), products, price lists, sales orders, offers and invoices,\ndiscussion posts and attachments, plus a metadata layer for discovering an\ninstance's value lists and custom fields. Writes are off by default -- see\n[Read and write separation](#read-and-write-separation) -- so a fresh install\nis read-only (`GET` calls only) until `RAYNET_WRITE_ENABLED=true` is set\ndeliberately.\n\nIt was built and validated against a single Raynet instance. The endpoints and\ntools are generic, but anything this README calls an observation rather than a\ndocumented contract -- filter behaviour, value-list contents, which fields an\ninstance renamed -- may differ on yours.\n\n## Install\n\nRequires Python >= 3.11.\n\n```bash\nuv tool install raynet-mcp     # or: pipx install raynet-mcp\n```\n\nNothing to install if you use `uvx raynet-mcp`, which fetches and runs it.\n\nThe server takes its token from the environment and never reads a `.env` file\nitself, so the token belongs in your MCP client's `env` block.\n\n### Claude Desktop, Claude Code (`.mcp.json`)\n\n```json\n{\n  \"mcpServers\": {\n    \"raynet\": {\n      \"command\": \"uvx\",\n      \"args\": [\"raynet-mcp\"],\n      \"env\": {\n        \"RAYNET_API_TOKEN\": \"your-token-here\",\n        \"RAYNET_WRITE_ENABLED\": \"false\"\n      }\n    }\n  }\n}\n```\n\n### Codex (`~/.codex/config.toml`)\n\n```toml\n[mcp_servers.raynet]\ncommand = \"uvx\"\nargs = [\"raynet-mcp\"]\nenv = { RAYNET_API_TOKEN = \"your-token-here\", RAYNET_WRITE_ENABLED = \"false\" }\n```\n\nWith no token in the environment, startup stops with\n`RAYNET_API_TOKEN is not set`.\n\n### From source\n\n```bash\ngit clone https://github.com/davidesner/raynet-mcp && cd raynet-mcp\nuv sync\ncp .env.ex…","publisher":{"name":"David Esner","url":null},"homepage":"https://github.com/davidesner/raynet-mcp","repository":"https://github.com/davidesner/raynet-mcp/blob/main/CHANGELOG.md","version":"0.2.2","license":null,"protocols":["mcp"],"tags":["agent","crm","fastmcp","llm","mcp","model-context-protocol","raynet"],"pricing":null,"endpoints":[{"url":"pypi:raynet-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"productivity.crm","name":"CRM & Sales","confidence":1,"provenance":"declared"},{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":0.814,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.802,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.745,"provenance":"derived"}],"categories":["commerce","dev","documents","productivity"],"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":"raynet-mcp","registry":"pypi","observedAt":"2026-11-03T23:22:50.927Z","publishedAt":"2026-09-01T16:45:25.641500Z","latestVersion":"0.2.2"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"raynet-mcp","url":"https://pypi.org/project/raynet-mcp/","firstSeenAt":"2026-09-10T11:26:06.511Z","fetchedAt":"2026-11-03T23:21:12.830Z","normalizedAt":"2026-11-03T23:21:12.830Z"}]},"firstSeenAt":"2026-09-10T11:26:06.511Z","updatedAt":"2026-11-03T23:22:50.927Z"}