Expand description
§TurboMCP Types
Core types for the TurboMCP SDK - the foundation of MCP server development.
This crate provides all shared types used across the TurboMCP ecosystem:
- Content types:
Content,TextContent,ImageContent, etc. - Result types:
ToolResult,ResourceResult,PromptResult - Definition types:
Tool,Resource,Prompt,ServerInfo - Conversion traits:
IntoToolResult,IntoResourceResult,IntoPromptResult
For error handling, use turbomcp_core::error::{McpError, McpResult}.
§Design Principles
- Single Source of Truth: These types are the canonical definitions
- Ergonomic by Default: Common operations are one-liners
- MCP 2025-11-25 Compliant: Full spec support
- no_std Compatible: Works in WASM and embedded environments
§Quick Start
use turbomcp_types::*;
// Create a tool result
let result = ToolResult::text("Hello, world!");
// Create an error result
let error = ToolResult::error("Something went wrong");
// Create a JSON result with structured content
let json_result = ToolResult::json(&serde_json::json!({"key": "value"})).unwrap();
// Create a resource result
let resource = ResourceResult::text("file:///example.txt", "File contents here");
// Create a prompt result
let prompt = PromptResult::user("Hello!")
.add_assistant("How can I help?")
.with_description("A greeting prompt");Re-exports§
pub use component::*;pub use content::*;pub use definitions::*;pub use protocol::*;pub use results::*;pub use traits::*;
Modules§
- component
- Component metadata types for tags and versioning.
- content
- Content types for MCP messages (MCP 2025-11-25).
- definitions
- Definition types for MCP capabilities.
- protocol
- MCP Protocol types for Tasks, Elicitation, and Sampling (MCP 2025-11-25).
- results
- Result types for MCP operations.
- traits
- Conversion traits for ergonomic result handling.
Macros§
- tags
- Macro for ergonomic tag filter creation.
Constants§
- VERSION
- Version of the TurboMCP types crate