Skip to content

Docs MCP server

Connect Cursor, Claude Code, or any MCP client to the hosted streams.dev docs over MCP: search, read pages, browse the navigation, and fetch the stream JSON Schema.

streams.dev runs a public, read-only Model Context Protocol server over this documentation. Point your agent at it and it can search the docs, read whole pages as markdown, and fetch the stream JSON Schema without scraping HTML.

This server is hosted by streams.dev and only reads these docs. It is separate from the SDK's local MCP server (php artisan mcp:start streams), which runs inside your own app and works with its streams and entries. Use both: the SDK server for your app, this one for the docs.

Endpoint

https://streams.dev/mcp

Streamable HTTP transport (JSON-RPC over POST), no authentication. Requests are rate limited to 60 per minute per IP; over the limit the server answers 429 with a Retry-After header.

Connect

Cursor

Add the server to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for every project):

{
    "mcpServers": {
        "streams-docs": {
            "url": "https://streams.dev/mcp"
        }
    }
}

Claude Code

claude mcp add --transport http streams https://streams.dev/mcp

Other clients

Any client that speaks MCP over Streamable HTTP can use the URL above. To try it by hand, run the MCP Inspector:

npx @modelcontextprotocol/inspector --cli https://streams.dev/mcp --transport http --method tools/list

Local, over stdio

In a clone of the streams.dev repository the same server runs as an Artisan command, reading the docs from your checkout:

php artisan mcp:start streams-docs
{
    "mcpServers": {
        "streams-docs-local": {
            "command": "php",
            "args": ["artisan", "mcp:start", "streams-docs"],
            "cwd": "/path/to/streams.dev"
        }
    }
}

Tools

All tools are read-only.

Tool Arguments Returns
search_docs query (required), package, section, limit (default 10, max 50) Ranked pages with title, slug, URL, markdown URL, package, section, tags, and a snippet
get_page page: a slug (core/introduction), docs path, or URL The page as markdown with a frontmatter block (title, description, slug, url)
list_pages package, section The navigation: guides by group, then each package, with title, slug, URL, and section
get_schema name (default streams) The JSON Schema served at /schema/streams.schema.json

package is one of guides, core, ui, api, sdk, testing, client. section is the page's frontmatter section: get-started, guides, concepts, reference, packages (every package reference page), or contributing. A page's slug is its path under /docs/: installation for a hub guide, core/introduction for a package page.

Pages are also exposed as resources: streams-docs://pages/{package}/{page} (for example streams-docs://pages/core/introduction), plus streams-docs://llms.txt for the index.

Other ways to read the docs

Related