Repositories
The Smarter Project’s GitHub repositories, which the Smarter Project MCP server reads.
Each ProjectRepository is one public repository of the smarter-sh GitHub
organization. The MCP server serves each repository at its own endpoint,
/api/v1/mcp/smarter-project/<name>/, and all of them together at
/api/v1/mcp/smarter-project/. The repositories are a fixed part of the platform,
declared here rather than in a manifest, because the MCP server is an internal utility of
the platform, not a resource that accounts create.
Note
Experimental. The MCPServer was designed and coded by Claude Code (Anthropic’s Claude Opus 5.5), with Lawrence McDaniel as co-author. It is experimental, and will be documented.
- class smarter.apps.mcpserver.repositories.ProjectRepository(**data)[source]
Bases:
BaseModelA public GitHub repository of The Smarter Project.
Example usage:
repository = get_repository("smarter-cli") repository.github_url # 'https://github.com/smarter-sh/smarter-cli' repository.file_url("0123abc", "README.md", 1, 20)
- archive_url(commit_sha)[source]
Return the url of the repository’s gzipped tar archive at a commit.
- documentation_url(path)[source]
Return the url of the published documentation page that a source file becomes.
- Parameters:
path (
str) – The file’s path in the repository, e.g.docs/source/smarter-resources/smarter-mcpclient.rst.- Return type:
- Returns:
The page’s url, e.g.
https://docs.smarter.sh/en/latest/smarter-resources/smarter-mcpclient.html, or None if the file is not a page of the repository’s published documentation.
- file_url(commit_sha, path, start_line=None, end_line=None)[source]
Return the GitHub url of a file, optionally of a range of its lines.
- model_config = {'extra': 'forbid', 'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- smarter.apps.mcpserver.repositories.SMARTER_PROJECT_REPOSITORIES: tuple[ProjectRepository, ...] = (ProjectRepository(name='smarter', title='the Smarter platform, and its documentation', description='The Smarter platform: its Django backend, SAM manifests and resources (LLMClients, Plugins, MCPClients, Guardrails, Secrets, ...), its api, its React web console, its Helm chart, and the source of its documentation, https://docs.smarter.sh, in docs/source.', owner='smarter-sh', ref='main', docs_root='docs/source', docs_url='https://docs.smarter.sh/en/latest/'), ProjectRepository(name='smarter-cli', title='the Smarter command-line interface', description='The smarter command-line interface, written in Go, which applies, gets, describes and deletes manifests.', owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-python', title='the Smarter Python SDK', description="The official Python library for the Smarter platform's api, published to PyPI as smarter-api.", owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-nodejs', title='the Smarter Node.js SDK', description="The official Node.js library for the Smarter platform's api, written in TypeScript, published to npm as @smarter.sh/api.", owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-golang', title='the Smarter Go SDK', description="The official Go library for the Smarter platform's api, the module github.com/smarter-sh/smarter-golang.", owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-vscode-yaml', title='the VS Code extension for Smarter manifests', description='The VS Code extension that validates and completes Smarter yaml manifests.', owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-infrastructure', title='the Smarter cloud infrastructure', description='The Terraform and Kubernetes code of the cloud infrastructure that the Smarter platform runs on.', owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-chat', title='the SmarterChat React component', description='SmarterChat, the React chat component of Smarter LLMClients, published to npm.', owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-deploy', title='the Smarter platform quick start, with Docker', description='The quick start that runs the Smarter platform on a computer with Docker Compose.', owner='smarter-sh', ref='main', docs_root=None, docs_url=None))
Every repository that the MCP server reads.
( ProjectRepository(name='smarter', title='the Smarter platform, and its documentation', description='The Smarter platform: its Django backend, SAM manifests and resources (LLMClients, Plugins, MCPClients, Guardrails, Secrets, ...), its api, its React web console, its Helm chart, and the source of its documentation, https://docs.smarter.sh, in docs/source.', owner='smarter-sh', ref='main', docs_root='docs/source', docs_url='https://docs.smarter.sh/en/latest/'), ProjectRepository(name='smarter-cli', title='the Smarter command-line interface', description='The smarter command-line interface, written in Go, which applies, gets, describes and deletes manifests.', owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-python', title='the Smarter Python SDK', description="The official Python library for the Smarter platform's api, published to PyPI as smarter-api.", owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-nodejs', title='the Smarter Node.js SDK', description="The official Node.js library for the Smarter platform's api, written in TypeScript, published to npm as @smarter.sh/api.", owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-golang', title='the Smarter Go SDK', description="The official Go library for the Smarter platform's api, the module github.com/smarter-sh/smarter-golang.", owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-vscode-yaml', title='the VS Code extension for Smarter manifests', description='The VS Code extension that validates and completes Smarter yaml manifests.', owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-infrastructure', title='the Smarter cloud infrastructure', description='The Terraform and Kubernetes code of the cloud infrastructure that the Smarter platform runs on.', owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-chat', title='the SmarterChat React component', description='SmarterChat, the React chat component of Smarter LLMClients, published to npm.', owner='smarter-sh', ref='main', docs_root=None, docs_url=None), ProjectRepository(name='smarter-deploy', title='the Smarter platform quick start, with Docker', description='The quick start that runs the Smarter platform on a computer with Docker Compose.', owner='smarter-sh', ref='main', docs_root=None, docs_url=None), )
- smarter.apps.mcpserver.repositories.get_repository(name)[source]
Return one of
SMARTER_PROJECT_REPOSITORIES, by name.- Parameters:
name (
str) – The repository’s name, e.g.smarter-cli.- Return type:
- Returns:
The repository, or None if there is no such repository.
- smarter.apps.mcpserver.repositories.project_repositories()[source]
Return
SMARTER_PROJECT_REPOSITORIES.Every module reads the repositories through this function, so that tests can replace them with throwaway repositories, whose indexes do not collide with the real ones.
- Return type:
- smarter.apps.mcpserver.repositories.repository_names()[source]
Return the names of
SMARTER_PROJECT_REPOSITORIES.