* [Docs] Add deprecation policy doc (SEP-2596) Formalizes the Active -> Deprecated -> Removed lifecycle and the twelve-month deprecation window the SDK already applies via SEP-2577, and states the SDK's own BC promise ahead of 1.0. * [Docs] Add SDK Tier 2 gap analysis (SEP-1730) * [Docs] Wire deprecation policy and SDK tier docs into the guide nav Adds both pages under a new Project section in mkdocs.yml, links them from index.md's "Where to go next", and points their repo-root references at GitHub URLs instead of paths escaping docs/ (dead under Zensical's --strict build). * [Docs] Add CONTRIBUTING.md Root-level contribution guide: dev setup, the make ci checks to run before a PR, coding standards, testing expectations, the docs-guide link-resolution rule Zensical enforces, and licensing terms. Linked from README's existing Contributing section. * [Docs] Trim deprecation policy per review Drop the worked SEP-2577 example and the "relationship to the protocol lifecycle" section; both were redundant restating of detail that lives in the code/CHANGELOG and protocol-versions.md already. * [Docs] Cite the Tier 3 audit and add a versioning policy (SEP-1730) Replace our own hand-rolled conformance numbers with the authoritative audit in modelcontextprotocol/modelcontextprotocol#3274: SDK is currently Tier 3, blocked from Tier 2 by client OAuth conformance (20%) and no stable 1.0.0+ release. Add the Versioning section the audit found missing — SemVer commitment pre-1.0, Symfony's BC promise after — and point CONTRIBUTING.md at it. * [Docs] Link Symfony's BC promise from the deprecation policy Was plain text; sdk-tier.md's Versioning section already links it. * [Docs] Drop the "process gaps addressed" aside from sdk-tier.md * Apply suggestion from @chr-hertel * Apply suggestion from @chr-hertel
172 lines
5.5 KiB
YAML
172 lines
5.5 KiB
YAML
site_name: MCP PHP SDK
|
|
site_description: The official PHP SDK for the Model Context Protocol
|
|
site_url: https://php.sdk.modelcontextprotocol.io/
|
|
repo_name: modelcontextprotocol/php-sdk
|
|
repo_url: https://github.com/modelcontextprotocol/php-sdk
|
|
edit_uri: edit/main/docs/
|
|
|
|
# The class-level API reference is still generated by phpDocumentor and copied
|
|
# into `site/api/` by `make docs`; Zensical owns everything under `docs/`.
|
|
# A relative nav entry would have to resolve to a page in this build, so the
|
|
# reference is linked by its absolute URL.
|
|
nav:
|
|
- MCP PHP SDK: index.md
|
|
- Get started:
|
|
- get-started/index.md
|
|
- Installation: get-started/installation.md
|
|
- First server: get-started/first-server.md
|
|
- Try it with the Inspector: get-started/inspector.md
|
|
- Servers:
|
|
- servers/index.md
|
|
- Tools: servers/tools.md
|
|
- Resources: servers/resources.md
|
|
- Resource templates: servers/resource-templates.md
|
|
- Prompts: servers/prompts.md
|
|
- Completions: servers/completions.md
|
|
- Schema generation: servers/schemas.md
|
|
- Registering elements: servers/registration.md
|
|
- Inside your handler:
|
|
- handlers/index.md
|
|
- Talking back to the client: handlers/client-communication.md
|
|
- Asking for input: handlers/input-required.md
|
|
- Logging: handlers/logging.md
|
|
- Running your server:
|
|
- run/index.md
|
|
- Server builder: run/server-builder.md
|
|
- STDIO transport: run/stdio.md
|
|
- HTTP transport: run/http.md
|
|
- Framework integration: run/framework-integration.md
|
|
- Sessions: run/sessions.md
|
|
- Serving both eras: run/protocol-eras.md
|
|
- Caching: run/caching.md
|
|
- Subscriptions: run/subscriptions.md
|
|
- Authorization: run/authorization.md
|
|
- Clients:
|
|
- client/index.md
|
|
- Connecting to a server: client/connecting.md
|
|
- Transports: client/transports.md
|
|
- "Tools, resources & prompts": client/capabilities.md
|
|
- Server-initiated requests: client/server-requests.md
|
|
- Error handling: client/errors.md
|
|
- Protocol versions: protocol-versions.md
|
|
- Advanced:
|
|
- advanced/index.md
|
|
- Events: advanced/events.md
|
|
- Protocol extensions: advanced/extensions.md
|
|
- Custom message handlers: advanced/custom-handlers.md
|
|
- Project:
|
|
- Deprecation policy: deprecation-policy.md
|
|
- SDK tier target: sdk-tier.md
|
|
- Examples: examples.md
|
|
- API Reference: https://php.sdk.modelcontextprotocol.io/api/
|
|
|
|
# Look and feel is kept in sync with the Python SDK's documentation
|
|
# (https://py.sdk.modelcontextprotocol.io/) so the language SDKs read as one
|
|
# set of docs: same MCP mark, same black/slate palette, same navigation.
|
|
theme:
|
|
name: material
|
|
# Zensical's own look, and its default; `classic` renders the older
|
|
# Material for MkDocs styling instead.
|
|
variant: modern
|
|
custom_dir: docs/.overrides
|
|
font:
|
|
text: Inter
|
|
code: JetBrains Mono
|
|
icon:
|
|
logo: mcp
|
|
favicon: favicon.svg
|
|
palette:
|
|
- media: "(prefers-color-scheme)"
|
|
scheme: default
|
|
primary: black
|
|
accent: black
|
|
toggle:
|
|
icon: material/lightbulb
|
|
name: "Switch to light mode"
|
|
- media: "(prefers-color-scheme: light)"
|
|
scheme: default
|
|
primary: black
|
|
accent: black
|
|
toggle:
|
|
icon: material/lightbulb-outline
|
|
name: "Switch to dark mode"
|
|
- media: "(prefers-color-scheme: dark)"
|
|
scheme: slate
|
|
primary: black
|
|
accent: white
|
|
toggle:
|
|
icon: material/lightbulb-auto-outline
|
|
name: "Switch to system preference"
|
|
features:
|
|
- search.suggest
|
|
- search.highlight
|
|
- content.tabs.link
|
|
- content.code.annotate
|
|
- content.code.copy
|
|
- content.code.select
|
|
- navigation.footer
|
|
- navigation.indexes
|
|
- navigation.instant
|
|
- navigation.instant.prefetch
|
|
- navigation.instant.progress
|
|
- navigation.path
|
|
- navigation.prune
|
|
- navigation.sections
|
|
- navigation.top
|
|
- navigation.tracking
|
|
- toc.follow
|
|
|
|
|
|
# Zensical natively re-implements `search`; it does not run arbitrary MkDocs
|
|
# plugins or hooks.
|
|
plugins:
|
|
- search
|
|
|
|
markdown_extensions:
|
|
- tables
|
|
- abbr
|
|
- admonition
|
|
- attr_list
|
|
- def_list
|
|
- footnotes
|
|
- md_in_html
|
|
- sane_lists # this means you can start a list from any number
|
|
- pymdownx.betterem
|
|
- pymdownx.caret
|
|
- pymdownx.details
|
|
- pymdownx.inlinehilite
|
|
- pymdownx.mark
|
|
- pymdownx.tilde
|
|
- pymdownx.highlight:
|
|
pygments_lang_class: true
|
|
# Pygments' PHP lexer only starts highlighting after a `<?php` tag, and the
|
|
# snippets in these docs are fragments — without this they render as one
|
|
# flat run of plain text.
|
|
extend_pygments_lang:
|
|
- name: php
|
|
lang: php
|
|
options:
|
|
startinline: true
|
|
# …which in turn mis-tokenizes a literal `<?php`, so the few blocks that
|
|
# are complete files rather than fragments use `php-file`.
|
|
- name: php-file
|
|
lang: php
|
|
options:
|
|
startinline: false
|
|
- pymdownx.superfences:
|
|
custom_fences:
|
|
- name: mermaid
|
|
class: mermaid
|
|
format: pymdownx.superfences.fence_code_format
|
|
# Zensical re-implements the emoji extension; the generator/index functions
|
|
# live under `zensical.extensions.emoji`, not `material.extensions.emoji`.
|
|
- pymdownx.emoji:
|
|
emoji_index: zensical.extensions.emoji.twemoji
|
|
emoji_generator: zensical.extensions.emoji.to_svg
|
|
options:
|
|
custom_icons:
|
|
- docs/.overrides/.icons
|
|
- pymdownx.tabbed:
|
|
alternate_style: true
|
|
- pymdownx.tasklist:
|
|
custom_checkbox: true
|