pytorch-mcp is a full-featured MCP server for PyTorch documentation workflows. It indexes the repository's local docs/ tree and exposes search, page retrieval, symbol lookup, code-example extraction, troubleshooting, and question-answering tools that an LLM can use to help developers work with PyTorch.
- Uses
docs/as the source of truth for documentation-aware tools. - Indexes local Markdown and reStructuredText PyTorch docs.
- Searches by workflow, concept, topic, or exact symbol such as
torch.compile. - Returns grounded snippets, headings, and page metadata for follow-up exploration.
- Extracts code examples from relevant docs pages.
- Understands declared Torch ecosystem libraries from
pyproject.tomland inspects runtime availability. - Recommends reading paths for tasks like training, compilation, data loading, profiling, and troubleshooting.
- Exposes MCP tools, resources, prompts, plus HTTP health/readiness routes.
The MCP server is intended to behave like a PyTorch development copilot:
- Use local
docs/content as the authoritative source for documentation-aware answers. - Inspect declared and installed Torch libraries before making environment-specific recommendations.
- Use planning, template-generation, code-inspection, and runtime-validation tools to help developers build models faster.
- Keep debugging and optimization advice grounded in retrieved docs, parsed traces, profiler data, and runtime checks when available.
list_doc_topicssearch_docsget_doc_pageget_symbol_referenceextract_code_examplesanswer_pytorch_questionrecommend_docstroubleshoot_pytorchplan_model_buildassemble_training_stackgenerate_training_loop_templategenerate_task_specific_templategenerate_training_project_templatereview_training_codesuggest_model_architecturechoose_loss_and_optimizeroptimize_data_pipelinediagnose_training_issueinspect_pytorch_codeinspect_runtime_environmentexecute_pytorch_snippetrun_forward_pass_checkbenchmark_compile_candidatevalidate_training_setuplist_torch_librariesinspect_torch_libraryrecommend_torch_librariesaudit_torch_stackparse_stack_traceanalyze_stack_traceanalyze_shape_mismatchparse_profiler_exportanalyze_profiler_summary
pytorch://server/capabilitiespytorch://project/settingspytorch://docs/indexpytorch://docs/categoriespytorch://docs/page/{doc_path}pytorch://docs/category/{category}pytorch://docs/search/{query}?limit=5pytorch://reference/overview
explain pytorch topicplan pytorch implementationdebug pytorch issuecompare pytorch approachesbuild pytorch modelreview pytorch training codechoose pytorch training objectivediagnose pytorch training issueinspect pytorch codeanalyze pytorch stack tracerecommend torch libraries
Install dependencies:
uv syncRun over stdio:
uv run python mcp_server.py --transport stdioRun over HTTP:
uv run python mcp_server.py --transport http --host 127.0.0.1 --port 8000Health endpoints:
GET /healthzGET /readyz
Important environment variables:
PYTORCH_MCP_DOCS_ROOTPYTORCH_MCP_MAX_SEARCH_RESULTSPYTORCH_MCP_MAX_PAGE_CHARACTERSPYTORCH_MCP_MAX_CODE_EXAMPLESPYTORCH_MCP_TRANSPORTPYTORCH_MCP_HOSTPYTORCH_MCP_PORT
Example:
PYTORCH_MCP_DOCS_ROOT=/path/to/pytorch/docs \
uv run python mcp_server.py --transport stdioBy default the server reads from this repository's docs/ directory. If you package or deploy the server elsewhere, point PYTORCH_MCP_DOCS_ROOT at a local PyTorch documentation checkout.
just test