ForgeMCP
Swift ForgeMCP library product.
Swift ForgeMCP library product.
Package contract
| Field | Value |
|---|---|
| Language | swift |
| Source version | Swift package source snapshot |
| Manifest | forge-swift/Package.swift |
| Source files | 4 |
| Evidence | Source reference; registry publication and runtime conformance are separate checks |
Import boundary
import ForgeMCPUse a source checkout or your verified private registry. Manifest coordinates identify the package; they do not establish that a public registry release exists.
Source reference
Download package reference JSON. Each original source file and generated declaration artifact has its own SHA-256 digest. Function bodies and constant values are omitted from downloads. These are source declaration inventories, not compiler-resolved rustdoc, TypeDoc, DocC, or Dokka output. Private modules can contain public declarations that are not reachable through the package boundary; consult the entry point before importing.
Client.swift
Read declaration text · 7 declaration entries
public final class MCPClient: @unchecked Sendable
public init(transport: any MCPTransport)
public func initialize() async throws
public func listTools() async throws -> [MCPToolDefinition]
public func callTool(name: String, arguments: JSONValue) async throws -> JSONValue
public func listResources() async throws -> [MCPResource]
public func close() asyncMCPTypes.swift
Read declaration text · 49 declaration entries
public let mcpProtocolVersion;
public struct MCPRequest: Codable, Sendable
public let jsonrpc: String
public let id: Int
public let method: String
public let params: JSONValue?
public init(id: Int, method: String, params: JSONValue?;
public let id: Int
public let method: String
public let params: JSONValue?
public init(id: Int, method: String, params: JSONValue?;
public let method: String
public let params: JSONValue?
public init(id: Int, method: String, params: JSONValue?;
public let params: JSONValue?
public init(id: Int, method: String, params: JSONValue?;
public init(id: Int, method: String, params: JSONValue?;
public struct MCPResponse: Codable, Sendable
public let jsonrpc: String
public let id: Int
public let result: JSONValue?
public let error: MCPError?
public init(id: Int, result: JSONValue?;
public let id: Int
public let result: JSONValue?
public let error: MCPError?
public init(id: Int, result: JSONValue?;
public let result: JSONValue?
public let error: MCPError?
public init(id: Int, result: JSONValue?;
public let error: MCPError?
public init(id: Int, result: JSONValue?;
public init(id: Int, result: JSONValue?;
public struct MCPError: Codable, Sendable
public let code: Int
/// The error message.
public let message: String
/// Optional additional data.
public let data: JSONValue?
public init(code: Int, message: String, data: JSONValue?;
public let message: String
/// Optional additional data.
public let data: JSONValue?
public init(code: Int, message: String, data: JSONValue?;
public let data: JSONValue?
public init(code: Int, message: String, data: JSONValue?;
public init(code: Int, message: String, data: JSONValue?;
public static let parseError;
public static let invalidRequest;
public static let methodNotFound;
public static let invalidParams;
public static let internalError;
public struct MCPNotification: Codable, Sendable
public let jsonrpc: String
public let method: String
public let params: JSONValue?
public init(method: String, params: JSONValue?;
public let method: String
public let params: JSONValue?
public init(method: String, params: JSONValue?;
public let params: JSONValue?
public init(method: String, params: JSONValue?;
public init(method: String, params: JSONValue?;
public struct MCPToolDefinition: Codable, Sendable
public let name: String
/// The tool description.
public let description: String?
/// The input schema.
public let inputSchema: JSONValue?
public init(name: String, description: String?;
public let description: String?
/// The input schema.
public let inputSchema: JSONValue?
public init(name: String, description: String?;
public let inputSchema: JSONValue?
public init(name: String, description: String?;
public init(name: String, description: String?;
public struct MCPResource: Codable, Sendable
public let uri: String
/// The resource name.
public let name: String
/// The resource description.
public let description: String?
/// The MIME type.
public let mimeType: String?
public init(uri: String, name: String, description: String?;
public let name: String
/// The resource description.
public let description: String?
/// The MIME type.
public let mimeType: String?
public init(uri: String, name: String, description: String?;
public let description: String?
/// The MIME type.
public let mimeType: String?
public init(uri: String, name: String, description: String?;
public let mimeType: String?
public init(uri: String, name: String, description: String?;
public init(uri: String, name: String, description: String?;
public struct MCPPrompt: Codable, Sendable
public let name: String
/// The prompt description.
public let description: String?
/// The prompt arguments.
public let arguments: [MCPPromptArgument]?
public init(name: String, description: String?;
public let description: String?
/// The prompt arguments.
public let arguments: [MCPPromptArgument]?
public init(name: String, description: String?;
public let arguments: [MCPPromptArgument]?
public init(name: String, description: String?;
public init(name: String, description: String?;
public struct MCPPromptArgument: Codable, Sendable
public let name: String
/// The argument description.
public let description: String?
/// Whether the argument is required.
public let required: Bool?
public init(name: String, description: String?;
public let description: String?
/// Whether the argument is required.
public let required: Bool?
public init(name: String, description: String?;
public let required: Bool?
public init(name: String, description: String?;
public init(name: String, description: String?;Server.swift
Read declaration text · 7 declaration entries
public typealias MCPToolHandler;
public final class MCPServer: @unchecked Sendable
public let name: String
/// The server version.
public let version: String
/// Creates a new MCP server.
///
/// - Parameters:
/// - name: The server name.
/// - version: The server version.
public init(name: String, version: String;
public let version: String
/// Creates a new MCP server.
///
/// - Parameters:
/// - name: The server name.
/// - version: The server version.
public init(name: String, version: String;
public init(name: String, version: String;
public func registerTool(definition: MCPToolDefinition, handler: @escaping MCPToolHandler)
public func handleRequest(_ request: MCPRequest) async -> MCPResponseTransport.swift
Read declaration text · 7 declaration entries
public protocol MCPTransport: Sendable
public final class StdioTransport: MCPTransport, @unchecked Sendable
public init(command: String, arguments: [String];
public func start() throws
public func send(_ request: MCPRequest) async throws -> MCPResponse
public func notify(_ notification: MCPNotification) async throws
public func close() async