{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_cpvu97qgqdvp","handle":"roam-fm-mcp","url":"https://wellknown.network/agents/roam-fm-mcp","links":{"self":"https://wellknown.network/agents/roam-fm-mcp/record.json","html":"https://wellknown.network/agents/roam-fm-mcp","markdown":"https://wellknown.network/agents/roam-fm-mcp/record.md","api":"https://wellknown.network/api/v1/agents/roam-fm-mcp","status":"https://wellknown.network/api/v1/agents/roam-fm-mcp/status","claim":"https://wellknown.network/agents/roam-fm-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/roam-fm-mcp/claim.json","badge":"https://wellknown.network/agents/roam-fm-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/roam-fm-mcp/history","tools":"https://wellknown.network/api/v1/agents/roam-fm-mcp/tools"},"ard":{"identifier":"urn:air::server:roam-fm-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"roam-fm-mcp","summary":"MCP server for controlling Roam FM radio app via AI assistants like Claude","description":"# Roam FM MCP Server\n\nMCP (Model Context Protocol) server for controlling [Roam FM](https://fm.houjoe.me) radio app via AI assistants like Claude.\n\n## Prerequisites\n\n- macOS\n- Roam FM app installed and running\n- MCP remote control enabled in Roam FM: Settings > Labs > AI Remote Control\n- Python 3.10+\n\n## Installation\n\n```bash\ncd mcp-server\npip install -e .\n```\n\n## Configuration\n\n### Claude Code\n\nAdd to your Claude Code MCP settings (`~/.claude/claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"roam-fm\": {\n      \"command\": \"roam-fm-mcp\"\n    }\n  }\n}\n```\n\nOr if using a virtual environment:\n\n```json\n{\n  \"mcpServers\": {\n    \"roam-fm\": {\n      \"command\": \"/path/to/venv/bin/roam-fm-mcp\"\n    }\n  }\n}\n```\n\n## Available Tools\n\n| Tool | Description |\n|------|-------------|\n| `roam_play` | Start playing radio. Optionally filter by country code. |\n| `roam_pause` | Pause the current station. |\n| `roam_resume` | Resume playback. |\n| `roam_next` | Skip to next random station. |\n| `roam_stop` | Stop playback completely. |\n| `roam_status` | Get current playback status and station info. |\n| `roam_get_stats` | Get listening statistics. |\n\n### Country Codes\n\nUse ISO 3166-1 alpha-2 country codes for filtering:\n\n- `JP` - Japan\n- `US` - United States\n- `FR` - France\n- `DE` - Germany\n- `GB` - United Kingdom\n- `CN` - China\n- etc.\n\n## Example Usage\n\nAsk your AI assistant:\n\n- \"Play Japanese radio stations\"\n- \"Pause the radio\"\n- \"What's currently playing?\"\n- \"Skip to the next station\"\n- \"How long have I been listening?\"\n\n## How It Works\n\n```\nAI Assistant ──MCP──> roam-fm-mcp ──URL Scheme──> Roam FM App\n                                  <──status.json──\n```\n\n1. AI sends commands via MCP protocol\n2. MCP server triggers URL Scheme (`roam-fm://play`, etc.)\n3. Roam FM app executes the command\n4. App writes status to `~/.roam-fm/status.json`\n5. MCP server reads status and returns result\n\n## Troubleshooting\n\n### \"Status file not found\"\n\nMake sure MCP remote control is enabled in Roam FM:\n…","publisher":null,"homepage":"https://fm.houjoe.me/mcp/","repository":"https://github.com/houjoe0829/roam-fm-mcp","version":"0.1.0","license":null,"protocols":["mcp"],"tags":["ai","assistant","claude","mcp","radio","roam-fm"],"pricing":null,"endpoints":[{"url":"pypi:roam-fm-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"}},"derived":{"capabilities":[{"slug":"automation.workflows","name":"Workflow Automation","confidence":0.768,"provenance":"derived"}],"categories":["automation"],"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":"roam-fm-mcp","registry":"pypi","observedAt":"2026-10-28T21:26:32.827Z","publishedAt":"2026-01-02T07:49:16.378162Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"roam-fm-mcp","url":"https://pypi.org/project/roam-fm-mcp/","firstSeenAt":"2026-09-10T11:27:13.009Z","fetchedAt":"2026-10-28T21:25:23.865Z","normalizedAt":"2026-10-28T21:25:23.865Z"}]},"firstSeenAt":"2026-09-10T11:27:13.009Z","updatedAt":"2026-10-28T21:26:32.827Z"}