All Classes and Interfaces
Class
Description
Registers built-in MCP resources and
URI templates for filesystem read/list and player
snapshots.
Canonical URIs for built-in MCP resources.
Central list of built-in
McpToolDefinitions.Dependencies shared by built-in tool handlers: the MCP plugin,
ServerFilePaths, and a live
PluginSettings supplier.String constants for built-in MCP surface area.
Factory for
McpToolDefinition instances used by built-in tool classes (*ToolSpec).Narrow view of
Bukkit services used during MCP plugin lifecycle.Restricts console commands using
ToolAccessConfig.commandWhitelist() and ToolAccessConfig.commandBlacklist().Evaluates whether a path relative to the server root is allowed by
ToolAccessConfig file/folder lists.MCP tool that writes or appends raw bytes to a path under the server root.
Extracts the MCP access token from HTTP requests in two supported shapes:
Authorization: Bearer <token>
HttpTokenSupport.HEADER_MCP_TOKEN: <token> (plain header value)
The servlet variant reads HttpServletRequest headers; the map variant supports the MCP transport's
header map during the security validation callback (header names matched case-insensitively).Builds a
ServerConnector for HTTPS using a keystore from SslSettings.Reads the tail of a UTF-8 text file without loading the whole file into memory.
In-game admin command: reload
config.yml without restarting the server or dropping MCP tools.Embeds Jetty and the MCP SDK's streamable HTTP servlet so clients connect to
http://host:port plus the configured servlet path (see PluginSettings.mcpPath()).Shared Reactor
Scheduler for blocking file I/O used by filesystem tools, so work stays off the game thread
without unbounded thread creation.Describes one MCP tool: a stable id, the metadata clients see in
tools/list, and an asynchronous handler
for tools/call.Everything a tool handler needs for one
tools/call: the raw MCP request, the authenticated access profile,
and the effective policy for this tool id.Immutable record holding all fields for
McpToolInvocation; constructed by ToolInvocationGate
after the token and tool policy have been validated.Public extension point for registering MCP tools from other Bukkit plugins.
Spigot plugin entry point: setups the bootstrap class
Service implementation registered under
MinecraftServerMcp: tools are added through
ToolInvocationGate, while built-in resources are registered separately in
McpHttpServer using ResourceInvocationGate.Bootstrap class; Loads
config.yml, starts the embedded MCP HTTP (and optional HTTPS) server, and
registers MinecraftServerMcp in the Bukkit ServicesManager.Normalizes user-provided path fragments so comparisons use forward slashes regardless of OS separator.
Serializes live
Player data into ordered maps and JSON strings for the players_list and
player_get MCP resources.Immutable snapshot of the MCP plugin's
config.yml: HTTP listen options, global limits, and the mapping from
secret tokens to access profiles.Applies the same bearer-token and
ToolAccessConfig checks as ToolInvocationGate, but for MCP
resources/read requests.Callback executed after
ResourceInvocationGate has resolved the token profile and confirmed that the
policy id is enabled.MCP tool that runs a command as the server console, subject to
CommandPolicy for the caller's token.Canonical Minecraft server root directory and helpers to resolve user-supplied relative paths safely.
MCP tool that returns a bounded tail of
logs/latest.log under the server root.Production
BukkitAccess backed by Spigot's Bukkit static facade.Optional TLS (HTTPS) listener for the embedded MCP server.
Constant-time comparisons for secret strings (e.g.
One named entry under
access in config.yml: a shared secret token and a map of
ToolAccessConfig keyed by MCP tool id.Policy for a single MCP tool id under
access.<profile>.tools.<toolId>.Helpers for reading string-keyed maps: MCP
McpSchema.CallToolRequest.arguments() (client JSON) and
ToolAccessConfig.extra() (YAML).Bridges MCP
McpToolDefinition instances to the SDK's McpServerFeatures.AsyncToolSpecification by
enforcing access control before the handler runs.JSON envelopes for MCP
McpSchema.CallToolResult payloads and for resource bodies that reuse the same shape.String keys used in
McpTransportContext.get(String) metadata.