Skip to main content

pmcp_server/
lib.rs

1//! PMCP Server - MCP developer tools server
2//!
3//! Provides MCP tools, resources, and prompts for building, testing,
4//! and understanding PMCP SDK servers. Served over streamable HTTP.
5
6pub mod content;
7pub mod prompts;
8pub mod resources;
9pub mod tools;
10mod util;
11
12/// Build the PMCP MCP server with all tools, resources, and prompts.
13///
14/// Registers 5 tools, 1 resource handler (9 documentation URIs), and
15/// 7 workflow prompts for MCP SDK development assistance.
16pub fn build_server() -> Result<pmcp::server::Server, pmcp::Error> {
17    pmcp::Server::builder()
18        .name("pmcp")
19        .version(env!("CARGO_PKG_VERSION"))
20        // Testing tools
21        .tool("test_check", tools::TestCheckTool)
22        .tool("test_generate", tools::TestGenerateTool)
23        .tool("test_apps", tools::TestAppsTool)
24        // Build tools
25        .tool("scaffold", tools::ScaffoldTool)
26        .tool("schema_export", tools::SchemaExportTool)
27        // Documentation resources
28        .resources(resources::DocsResourceHandler)
29        // Workflow prompts
30        .prompt("quickstart", prompts::QuickstartPrompt)
31        .prompt("create-mcp-server", prompts::CreateMcpServerPrompt)
32        .prompt("add-tool", prompts::AddToolPrompt)
33        .prompt("diagnose", prompts::DiagnosePrompt)
34        .prompt("setup-auth", prompts::SetupAuthPrompt)
35        .prompt("debug-protocol-error", prompts::DebugProtocolErrorPrompt)
36        .prompt("migrate", prompts::MigratePrompt)
37        .build()
38}