server.json
3 fields changed
- icon_url
-
—https://platform.sonilo.com/icon.png - version
-
0.28.00.28.1 - website_url
-
—https://platform.sonilo.com/mcp?utm_source=mcp_registry&utm_medium=listing
io.github.sonilo-ai/sonilo-mcp
5 changes recorded. MCP Harbor re-reads this listing from the official registry every six hours and asks the live server what it exposes, and keeps what changed between one look and the next.
https://raw.githubusercontent.com/sonilo-ai/sonilo-mcp/HEAD/AGENTS.md
− | `TIME_OUT_SECONDS` | `600` | Wait limit for a generation |− hosted server calls the same tool `get_generation_task`). Streaming music+ | `TIME_OUT_SECONDS` | `600` | Timeout for streaming music, uploads and downloads; task polls wait at least 2700 s (stems 4500 s, dubbing 7200 s) |+ hosted server calls the same tool `get_generation_task`). If the MCP host's own+ tool-call timeout cuts the call off first, the id is in the server's stderr log+ as `[sonilo-mcp] task submitted: <id>`. Streaming music
https://raw.githubusercontent.com/sonilo-ai/sonilo-mcp/HEAD/AGENTS.md
+ # AGENTS.md+ Notes for coding agents working on `sonilo-mcp`, and for agents connecting to it.+ ## What this repo is+ A local stdio MCP server (Python, FastMCP) that wraps Sonilo's public API:+ music, sound effects, combined music + SFX, video analysis, audio ducking,+ dubbing and proofreading. It uploads local files, waits on async tasks and+ saves results to disk. Published to PyPI as `sonilo-mcp` and to the MCP+ Registry as `io.github.sonilo-ai/sonilo-mcp`.+ There is also a hosted, OAuth-authenticated server at+ `https://api.sonilo.com/mcp`. It is not built from this repo.+ ## Layout+ ```+ src/sonilo_mcp/api.py every tool, HTTP calls, polling, downloads, path confinement; entry point `main`+ src/sonilo_mcp/credentials.py reads the `sonilo login` credential file+ tests/test_api.py tool tests (respx mocks the API; no network)+ tests/test_credentials.py+ tests/conftest.py clears SONILO_* env vars and points HOME at a tmp dir+ pyproject.toml package metadata and the real version+ server.json MCP Registry manifest; release CI rewrites its version+ uv.lock pins mcp to 1.x (2.x removed mcp.server.fastmcp)+ ```+ `setup.py` is legacy and its version is not used. `pyproject.toml` is the+ source of truth.+ ## Commands+ ```bash+ uv sync --extra dev --frozen # install, honouring uv.lock+ uv run pytest -v # what CI runs+ uv run sonilo-mcp # start the server on stdio+ ```+ Use `uv sync --frozen`, not a plain `pip install`: an unpinned resolve can pull+ `mcp` 2.x and every import fails. There is no PR CI in this repo; tests run in+ `.github/workflows/release.yml` before publishing, so run them locally.+ ## Releasing+ 1. Bump `version` in `pyproject.toml`; put the version in the commit title,+ e.g. `proofread: ... (0.26.0)`.+ 2. Push a `vX.Y.Z` tag that matches it. The release workflow tests, publishes+ to PyPI (trusted publishing), waits until PyPI serves the version, then+ syncs `server.json` and publishes to the MCP Registry.+ ## Conventions for changes+ - A new tool or parameter mirrors the public API's field names and limits. Add
Showing the first 40 of each.
We can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect