Forge documentation
Library referenceSwift

ForgeMCP

Swift ForgeMCP library product.

Swift ForgeMCP library product.

Package contract

FieldValue
Languageswift
Source versionSwift package source snapshot
Manifestforge-swift/Package.swift
Source files4
EvidenceSource reference; registry publication and runtime conformance are separate checks

Import boundary

import ForgeMCP

Use 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() async

MCPTypes.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 -> MCPResponse

Transport.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

Continue

On this page