{
  "name": "ForgeMCP",
  "language": "swift",
  "version": "Swift package source snapshot",
  "description": "Swift ForgeMCP library product.",
  "manifest": "forge-swift/Package.swift",
  "manifestSha256": "8579cd038904d9101db7b7714fa006f94144a6f951c0535512114bb00d4a3128",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/swift/ForgeMCP",
  "features": {},
  "files": [
    {
      "path": "forge-swift/Sources/ForgeMCP/Client.swift",
      "sha256": "15914827953de4e9d7e4f36881050171021d5ea7cb18d20d1d8dfc350a3deccb",
      "artifactSha256": "9b03fb662aaf65a723f30872b4506206cdf402bd532142e81d88c4912a3c942c",
      "url": "/reference/source/forge-swift/Sources/ForgeMCP/Client.swift.txt",
      "declarations": [
        {
          "name": "public final class MCPClient: @unchecked Sendable",
          "line": 16,
          "signature": "public final class MCPClient: @unchecked Sendable",
          "documentation": ""
        },
        {
          "name": "public init(transport: any MCPTransport)",
          "line": 27,
          "signature": "public init(transport: any MCPTransport)",
          "documentation": ""
        },
        {
          "name": "public func initialize() async throws",
          "line": 36,
          "signature": "public func initialize() async throws",
          "documentation": ""
        },
        {
          "name": "public func listTools() async throws -> [MCPToolDefinition]",
          "line": 61,
          "signature": "public func listTools() async throws -> [MCPToolDefinition]",
          "documentation": ""
        },
        {
          "name": "public func callTool(name: String, arguments: JSONValue) async throws -> JSONValue",
          "line": 90,
          "signature": "public func callTool(name: String, arguments: JSONValue) async throws -> JSONValue",
          "documentation": ""
        },
        {
          "name": "public func listResources() async throws -> [MCPResource]",
          "line": 116,
          "signature": "public func listResources() async throws -> [MCPResource]",
          "documentation": ""
        },
        {
          "name": "public func close() async",
          "line": 139,
          "signature": "public func close() async",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeMCP/MCPTypes.swift",
      "sha256": "854b270b2dd8a747c78d7b8c669f64bb69cc2a35f485a50213c3bb07502aa569",
      "artifactSha256": "6654835258496a7754319a98679596d1e42fcc3bdd86368c8e6babd7628d545b",
      "url": "/reference/source/forge-swift/Sources/ForgeMCP/MCPTypes.swift.txt",
      "declarations": [
        {
          "name": "public let mcpProtocolVersion;",
          "line": 13,
          "signature": "public let mcpProtocolVersion;",
          "documentation": ""
        },
        {
          "name": "public struct MCPRequest: Codable, Sendable",
          "line": 16,
          "signature": "public struct MCPRequest: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let jsonrpc: String",
          "line": 17,
          "signature": "public let jsonrpc: String\npublic let id: Int\npublic let method: String\npublic let params: JSONValue?\n\npublic init(id: Int, method: String, params: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public let id: Int",
          "line": 18,
          "signature": "public let id: Int\npublic let method: String\npublic let params: JSONValue?\n\npublic init(id: Int, method: String, params: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public let method: String",
          "line": 19,
          "signature": "public let method: String\npublic let params: JSONValue?\n\npublic init(id: Int, method: String, params: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public let params: JSONValue?",
          "line": 20,
          "signature": "public let params: JSONValue?\n\npublic init(id: Int, method: String, params: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public init(id: Int, method: String, params: JSONValue?;",
          "line": 22,
          "signature": "public init(id: Int, method: String, params: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public struct MCPResponse: Codable, Sendable",
          "line": 31,
          "signature": "public struct MCPResponse: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let jsonrpc: String",
          "line": 32,
          "signature": "public let jsonrpc: String\npublic let id: Int\npublic let result: JSONValue?\npublic let error: MCPError?\n\npublic init(id: Int, result: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public let id: Int",
          "line": 33,
          "signature": "public let id: Int\npublic let result: JSONValue?\npublic let error: MCPError?\n\npublic init(id: Int, result: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public let result: JSONValue?",
          "line": 34,
          "signature": "public let result: JSONValue?\npublic let error: MCPError?\n\npublic init(id: Int, result: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public let error: MCPError?",
          "line": 35,
          "signature": "public let error: MCPError?\n\npublic init(id: Int, result: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public init(id: Int, result: JSONValue?;",
          "line": 37,
          "signature": "public init(id: Int, result: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public struct MCPError: Codable, Sendable",
          "line": 46,
          "signature": "public struct MCPError: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let code: Int",
          "line": 48,
          "signature": "public let code: Int\n/// The error message.\npublic let message: String\n/// Optional additional data.\npublic let data: JSONValue?\n\npublic init(code: Int, message: String, data: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public let message: String",
          "line": 50,
          "signature": "public let message: String\n/// Optional additional data.\npublic let data: JSONValue?\n\npublic init(code: Int, message: String, data: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public let data: JSONValue?",
          "line": 52,
          "signature": "public let data: JSONValue?\n\npublic init(code: Int, message: String, data: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public init(code: Int, message: String, data: JSONValue?;",
          "line": 54,
          "signature": "public init(code: Int, message: String, data: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public static let parseError;",
          "line": 61,
          "signature": "public static let parseError;",
          "documentation": ""
        },
        {
          "name": "public static let invalidRequest;",
          "line": 62,
          "signature": "public static let invalidRequest;",
          "documentation": ""
        },
        {
          "name": "public static let methodNotFound;",
          "line": 63,
          "signature": "public static let methodNotFound;",
          "documentation": ""
        },
        {
          "name": "public static let invalidParams;",
          "line": 64,
          "signature": "public static let invalidParams;",
          "documentation": ""
        },
        {
          "name": "public static let internalError;",
          "line": 65,
          "signature": "public static let internalError;",
          "documentation": ""
        },
        {
          "name": "public struct MCPNotification: Codable, Sendable",
          "line": 69,
          "signature": "public struct MCPNotification: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let jsonrpc: String",
          "line": 70,
          "signature": "public let jsonrpc: String\npublic let method: String\npublic let params: JSONValue?\n\npublic init(method: String, params: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public let method: String",
          "line": 71,
          "signature": "public let method: String\npublic let params: JSONValue?\n\npublic init(method: String, params: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public let params: JSONValue?",
          "line": 72,
          "signature": "public let params: JSONValue?\n\npublic init(method: String, params: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public init(method: String, params: JSONValue?;",
          "line": 74,
          "signature": "public init(method: String, params: JSONValue?;",
          "documentation": ""
        },
        {
          "name": "public struct MCPToolDefinition: Codable, Sendable",
          "line": 82,
          "signature": "public struct MCPToolDefinition: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let name: String",
          "line": 84,
          "signature": "public let name: String\n/// The tool description.\npublic let description: String?\n/// The input schema.\npublic let inputSchema: JSONValue?\n\npublic init(name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public let description: String?",
          "line": 86,
          "signature": "public let description: String?\n/// The input schema.\npublic let inputSchema: JSONValue?\n\npublic init(name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public let inputSchema: JSONValue?",
          "line": 88,
          "signature": "public let inputSchema: JSONValue?\n\npublic init(name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public init(name: String, description: String?;",
          "line": 90,
          "signature": "public init(name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public struct MCPResource: Codable, Sendable",
          "line": 98,
          "signature": "public struct MCPResource: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let uri: String",
          "line": 100,
          "signature": "public let uri: String\n/// The resource name.\npublic let name: String\n/// The resource description.\npublic let description: String?\n/// The MIME type.\npublic let mimeType: String?\n\npublic init(uri: String, name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public let name: String",
          "line": 102,
          "signature": "public let name: String\n/// The resource description.\npublic let description: String?\n/// The MIME type.\npublic let mimeType: String?\n\npublic init(uri: String, name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public let description: String?",
          "line": 104,
          "signature": "public let description: String?\n/// The MIME type.\npublic let mimeType: String?\n\npublic init(uri: String, name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public let mimeType: String?",
          "line": 106,
          "signature": "public let mimeType: String?\n\npublic init(uri: String, name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public init(uri: String, name: String, description: String?;",
          "line": 108,
          "signature": "public init(uri: String, name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public struct MCPPrompt: Codable, Sendable",
          "line": 117,
          "signature": "public struct MCPPrompt: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let name: String",
          "line": 119,
          "signature": "public let name: String\n/// The prompt description.\npublic let description: String?\n/// The prompt arguments.\npublic let arguments: [MCPPromptArgument]?\n\npublic init(name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public let description: String?",
          "line": 121,
          "signature": "public let description: String?\n/// The prompt arguments.\npublic let arguments: [MCPPromptArgument]?\n\npublic init(name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public let arguments: [MCPPromptArgument]?",
          "line": 123,
          "signature": "public let arguments: [MCPPromptArgument]?\n\npublic init(name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public init(name: String, description: String?;",
          "line": 125,
          "signature": "public init(name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public struct MCPPromptArgument: Codable, Sendable",
          "line": 133,
          "signature": "public struct MCPPromptArgument: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let name: String",
          "line": 135,
          "signature": "public let name: String\n/// The argument description.\npublic let description: String?\n/// Whether the argument is required.\npublic let required: Bool?\n\npublic init(name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public let description: String?",
          "line": 137,
          "signature": "public let description: String?\n/// Whether the argument is required.\npublic let required: Bool?\n\npublic init(name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public let required: Bool?",
          "line": 139,
          "signature": "public let required: Bool?\n\npublic init(name: String, description: String?;",
          "documentation": ""
        },
        {
          "name": "public init(name: String, description: String?;",
          "line": 141,
          "signature": "public init(name: String, description: String?;",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeMCP/Server.swift",
      "sha256": "e12341627cc238b435b7ca7468980bf80f5cf8a419e090e0c2671edd9319899a",
      "artifactSha256": "ed68538cbe6275020334c6247357c6ff82bc9c836bbcfed95f29223ed48c7224",
      "url": "/reference/source/forge-swift/Sources/ForgeMCP/Server.swift.txt",
      "declarations": [
        {
          "name": "public typealias MCPToolHandler;",
          "line": 13,
          "signature": "public typealias MCPToolHandler;",
          "documentation": ""
        },
        {
          "name": "public final class MCPServer: @unchecked Sendable",
          "line": 19,
          "signature": "public final class MCPServer: @unchecked Sendable",
          "documentation": ""
        },
        {
          "name": "public let name: String",
          "line": 24,
          "signature": "public let name: String\n/// The server version.\npublic let version: String\n\n/// Creates a new MCP server.\n///\n/// - Parameters:\n///   - name: The server name.\n///   - version: The server version.\npublic init(name: String, version: String;",
          "documentation": ""
        },
        {
          "name": "public let version: String",
          "line": 26,
          "signature": "public let version: String\n\n/// Creates a new MCP server.\n///\n/// - Parameters:\n///   - name: The server name.\n///   - version: The server version.\npublic init(name: String, version: String;",
          "documentation": ""
        },
        {
          "name": "public init(name: String, version: String;",
          "line": 33,
          "signature": "public init(name: String, version: String;",
          "documentation": ""
        },
        {
          "name": "public func registerTool(definition: MCPToolDefinition, handler: @escaping MCPToolHandler)",
          "line": 43,
          "signature": "public func registerTool(definition: MCPToolDefinition, handler: @escaping MCPToolHandler)",
          "documentation": ""
        },
        {
          "name": "public func handleRequest(_ request: MCPRequest) async -> MCPResponse",
          "line": 53,
          "signature": "public func handleRequest(_ request: MCPRequest) async -> MCPResponse",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeMCP/Transport.swift",
      "sha256": "564ad1e939486445c04c88886adf0699e7a9d55f13b3dd6c0e321173289aa518",
      "artifactSha256": "e53c82d32ddd4a042ee04dfef992cf5c46eb10752e3f396b0edc7f7ab1569f9d",
      "url": "/reference/source/forge-swift/Sources/ForgeMCP/Transport.swift.txt",
      "declarations": [
        {
          "name": "public protocol MCPTransport: Sendable",
          "line": 15,
          "signature": "public protocol MCPTransport: Sendable",
          "documentation": ""
        },
        {
          "name": "public final class StdioTransport: MCPTransport, @unchecked Sendable",
          "line": 37,
          "signature": "public final class StdioTransport: MCPTransport, @unchecked Sendable",
          "documentation": ""
        },
        {
          "name": "public init(command: String, arguments: [String];",
          "line": 49,
          "signature": "public init(command: String, arguments: [String];",
          "documentation": ""
        },
        {
          "name": "public func start() throws",
          "line": 71,
          "signature": "public func start() throws",
          "documentation": ""
        },
        {
          "name": "public func send(_ request: MCPRequest) async throws -> MCPResponse",
          "line": 75,
          "signature": "public func send(_ request: MCPRequest) async throws -> MCPResponse",
          "documentation": ""
        },
        {
          "name": "public func notify(_ notification: MCPNotification) async throws",
          "line": 91,
          "signature": "public func notify(_ notification: MCPNotification) async throws",
          "documentation": ""
        },
        {
          "name": "public func close() async",
          "line": 102,
          "signature": "public func close() async",
          "documentation": ""
        }
      ]
    }
  ]
}
