Tool Sets
The MCPServer’s two sets of tools, one for each of its endpoints, in the order that tools/list lists them.
PUBLIC_TOOL_CLASSES: the public tools, served at/api/v1/mcp/smarter-project/byPublicEndpoint. They read The Smarter Project’s repositories, documentation, blog and manifest schemas, and its GitHub issues, and, with the caller’s GitHub token, report issues and propose fixes.STAFF_TOOL_CLASSES: the staff-only tools, served at/api/v1/mcp/smarter-operations/byStaffEndpoint. They read this platform’s health, its pod logs and its users’ accounts, for its staff.
Each tool is a thin adapter of a service of smarter.apps.mcpserver.services, in
smarter.apps.mcpserver.protocol.tools. Smarter’s built-in MCPClients smarter_project
and smarter_operations connect to one endpoint each, and choose which of its tools their
LLMClients may call (allowedTools).
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.
- smarter.apps.mcpserver.protocol.toolsets.PUBLIC_TOOL_CLASSES: tuple[type[PublicTool], ...] = (<class 'smarter.apps.mcpserver.protocol.tools.reading.GetRepositoryOverviewTool'>, <class 'smarter.apps.mcpserver.protocol.tools.search.SearchDocumentationTool'>, <class 'smarter.apps.mcpserver.protocol.tools.search.SearchCodeTool'>, <class 'smarter.apps.mcpserver.protocol.tools.reading.ReadFileTool'>, <class 'smarter.apps.mcpserver.protocol.tools.reading.ListFilesTool'>, <class 'smarter.apps.mcpserver.protocol.tools.manifests.GetManifestSchemaTool'>, <class 'smarter.apps.mcpserver.protocol.tools.manifests.ValidateManifestTool'>, <class 'smarter.apps.mcpserver.protocol.tools.search.SearchBlogTool'>, <class 'smarter.apps.mcpserver.protocol.tools.reading.ReadBlogPostTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.SearchIssuesTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.ReadIssueTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.CreateIssueTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.CommentOnIssueTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.CloseIssueTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.CreatePullRequestTool'>)
Every public tool, in the order that tools/list lists them.
PublicEndpointcreates one of each that its scope serves (seeserves()). The order puts the tools that an LLM should try first, the overview and the searches, before the tools that read one item, and the tools that write to GitHub last.( <class 'smarter.apps.mcpserver.protocol.tools.reading.GetRepositoryOverviewTool'>, <class 'smarter.apps.mcpserver.protocol.tools.search.SearchDocumentationTool'>, <class 'smarter.apps.mcpserver.protocol.tools.search.SearchCodeTool'>, <class 'smarter.apps.mcpserver.protocol.tools.reading.ReadFileTool'>, <class 'smarter.apps.mcpserver.protocol.tools.reading.ListFilesTool'>, <class 'smarter.apps.mcpserver.protocol.tools.manifests.GetManifestSchemaTool'>, <class 'smarter.apps.mcpserver.protocol.tools.manifests.ValidateManifestTool'>, <class 'smarter.apps.mcpserver.protocol.tools.search.SearchBlogTool'>, <class 'smarter.apps.mcpserver.protocol.tools.reading.ReadBlogPostTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.SearchIssuesTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.ReadIssueTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.CreateIssueTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.CommentOnIssueTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.CloseIssueTool'>, <class 'smarter.apps.mcpserver.protocol.tools.github.CreatePullRequestTool'>, )
- smarter.apps.mcpserver.protocol.toolsets.STAFF_TOOL_CLASSES: tuple[type[StaffTool], ...] = (<class 'smarter.apps.mcpserver.protocol.tools.status.PlatformStatusTool'>, <class 'smarter.apps.mcpserver.protocol.tools.status.EksStatusTool'>, <class 'smarter.apps.mcpserver.protocol.tools.logs.SummarizeLogErrorsTool'>, <class 'smarter.apps.mcpserver.protocol.tools.logs.SearchLogsTool'>, <class 'smarter.apps.mcpserver.protocol.tools.logs.ListLogSourcesTool'>, <class 'smarter.apps.mcpserver.protocol.tools.helpdesk.UserSupportSnapshotTool'>, <class 'smarter.apps.mcpserver.protocol.tools.helpdesk.CheckReplyTool'>)
Every staff-only tool, in the order that tools/list lists them.
The order follows a help desk investigation: the platform’s health first, then its logs, then one user’s account, and last the check of the reply to that user.
( <class 'smarter.apps.mcpserver.protocol.tools.status.PlatformStatusTool'>, <class 'smarter.apps.mcpserver.protocol.tools.status.EksStatusTool'>, <class 'smarter.apps.mcpserver.protocol.tools.logs.SummarizeLogErrorsTool'>, <class 'smarter.apps.mcpserver.protocol.tools.logs.SearchLogsTool'>, <class 'smarter.apps.mcpserver.protocol.tools.logs.ListLogSourcesTool'>, <class 'smarter.apps.mcpserver.protocol.tools.helpdesk.UserSupportSnapshotTool'>, <class 'smarter.apps.mcpserver.protocol.tools.helpdesk.CheckReplyTool'>, )