Skip to main content

fastmcp_rs/
lib.rs

1//! FastMCP Rust prototype entry point.
2//!
3//! The crate exposes the [`FastMcpServer`] type together with registries for tools,
4//! resources, and prompts. It also includes an HTTP transport built on `axum`.
5
6pub mod command;
7pub mod error;
8pub mod http;
9pub mod prompt;
10pub mod resource;
11pub mod server;
12pub mod stdio;
13pub mod tool;
14pub mod macros;
15
16pub use crate::command::{CommandResult, ServerCommand, execute_command};
17pub use crate::error::{FastMcpError, Result};
18pub use crate::http::{HttpServerHandle, start_http};
19pub use crate::prompt::{PromptDefinitionMetadata, PromptManager, PromptMessage, PromptTemplate};
20pub use crate::resource::{ResourceContent, ResourceDefinition, ResourceManager};
21pub use crate::server::{FastMcpServer, FastMcpServerBuilder, ServerMetadata};
22pub use crate::stdio::{run_stdio, run_stdio_with_io};
23pub use crate::tool::{
24    InvocationContext, ToolAnnotations, ToolDefinition, ToolInvocation, ToolManager, ToolResponse,
25};
26#[cfg(feature = "auto-register")]
27pub use crate::tool::{ToolFactory, MCP_TOOL_FACTORIES, register_discovered_tools};
28
29// 为属性宏提供一个不与声明式宏冲突的别名,统一入口为 fastmcp_rs
30pub use fastmcp_rs_macros::mcp_tool as mcp_tool_attr;