Skip to main content
Glama
project.pbxproj28.5 kB
// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 77; objects = { /* Begin PBXBuildFile section */ F809556E2D7888920055B911 /* TypedStream in Frameworks */ = {isa = PBXBuildFile; productRef = F809556D2D7888920055B911 /* TypedStream */; }; F80955702D7888920055B911 /* iMessage in Frameworks */ = {isa = PBXBuildFile; productRef = F809556F2D7888920055B911 /* iMessage */; }; F825BDBF2D9AD00E0063ADD7 /* ServiceLifecycle in Frameworks */ = {isa = PBXBuildFile; productRef = F825BDBE2D9AD00E0063ADD7 /* ServiceLifecycle */; }; F825BDC12D9AD00E0063ADD7 /* UnixSignals in Frameworks */ = {isa = PBXBuildFile; productRef = F825BDC02D9AD00E0063ADD7 /* UnixSignals */; }; F873F48D2D712BCF0035CD0A /* Ontology in Frameworks */ = {isa = PBXBuildFile; productRef = F873F48C2D712BCF0035CD0A /* Ontology */; }; F87796FC2E0764AE00328CC6 /* MenuBarExtraAccess in Frameworks */ = {isa = PBXBuildFile; productRef = F87796FB2E0764AE00328CC6 /* MenuBarExtraAccess */; }; F88358372D64A085000317CD /* Logging in Frameworks */ = {isa = PBXBuildFile; productRef = F88358362D64A085000317CD /* Logging */; }; F885C6B82D66079100963B25 /* imcp-server in Copy Executables */ = {isa = PBXBuildFile; fileRef = F8F44EB62D5908D00075D79C /* imcp-server */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; F8A7DE3E2DCB76F700530587 /* MCP in Frameworks */ = {isa = PBXBuildFile; productRef = F8A7DE3D2DCB76F700530587 /* MCP */; }; F8CE997B2D591CF200C61CA2 /* MCP in Frameworks */ = {isa = PBXBuildFile; productRef = F8CE997A2D591CF200C61CA2 /* MCP */; }; F8D7C3172DCBD30500A4775F /* MCP in Frameworks */ = {isa = PBXBuildFile; productRef = F8D7C3162DCBD30500A4775F /* MCP */; }; F8D7C31A2DCBD32100A4775F /* MCP in Frameworks */ = {isa = PBXBuildFile; productRef = F8D7C3192DCBD32100A4775F /* MCP */; }; F8D8C48E2DCE0E6800369E5C /* JSONSchema in Frameworks */ = {isa = PBXBuildFile; productRef = F8D8C48D2DCE0E6800369E5C /* JSONSchema */; }; F8F1D2F82D6F9E0C00F6323D /* MCP in Frameworks */ = {isa = PBXBuildFile; productRef = F8F44E9C2D5903F70075D79C /* MCP */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ F84900952D63C74F0044AA81 /* Copy Executables */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 6; files = ( F885C6B82D66079100963B25 /* imcp-server in Copy Executables */, ); name = "Copy Executables"; runOnlyForDeploymentPostprocessing = 0; }; F8F44EB42D5908D00075D79C /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = /usr/share/man/man1/; dstSubfolderSpec = 0; files = ( ); runOnlyForDeploymentPostprocessing = 1; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ F8F44E6D2D59038D0075D79C /* iMCP.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iMCP.app; sourceTree = BUILT_PRODUCTS_DIR; }; F8F44EB62D5908D00075D79C /* imcp-server */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "imcp-server"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ F8F44EB12D5906E20075D79C /* Exceptions for "App" folder in "iMCP" target */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( Info.plist, ); target = F8F44E6C2D59038D0075D79C /* iMCP */; }; /* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ F8F44E6F2D59038D0075D79C /* App */ = { isa = PBXFileSystemSynchronizedRootGroup; exceptions = ( F8F44EB12D5906E20075D79C /* Exceptions for "App" folder in "iMCP" target */, ); path = App; sourceTree = "<group>"; }; F8F44EB72D5908D00075D79C /* CLI */ = { isa = PBXFileSystemSynchronizedRootGroup; path = CLI; sourceTree = "<group>"; }; /* End PBXFileSystemSynchronizedRootGroup section */ /* Begin PBXFrameworksBuildPhase section */ F8F44E6A2D59038D0075D79C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( F809556E2D7888920055B911 /* TypedStream in Frameworks */, F87796FC2E0764AE00328CC6 /* MenuBarExtraAccess in Frameworks */, F873F48D2D712BCF0035CD0A /* Ontology in Frameworks */, F8D7C31A2DCBD32100A4775F /* MCP in Frameworks */, F8A7DE3E2DCB76F700530587 /* MCP in Frameworks */, F8F1D2F82D6F9E0C00F6323D /* MCP in Frameworks */, F8D7C3172DCBD30500A4775F /* MCP in Frameworks */, F80955702D7888920055B911 /* iMessage in Frameworks */, F8D8C48E2DCE0E6800369E5C /* JSONSchema in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; F8F44EB32D5908D00075D79C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( F88358372D64A085000317CD /* Logging in Frameworks */, F825BDBF2D9AD00E0063ADD7 /* ServiceLifecycle in Frameworks */, F8CE997B2D591CF200C61CA2 /* MCP in Frameworks */, F825BDC12D9AD00E0063ADD7 /* UnixSignals in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ F8F44E642D59038D0075D79C = { isa = PBXGroup; children = ( F8F44E6F2D59038D0075D79C /* App */, F8F44EB72D5908D00075D79C /* CLI */, F8F44E6E2D59038D0075D79C /* Products */, ); sourceTree = "<group>"; }; F8F44E6E2D59038D0075D79C /* Products */ = { isa = PBXGroup; children = ( F8F44E6D2D59038D0075D79C /* iMCP.app */, F8F44EB62D5908D00075D79C /* imcp-server */, ); name = Products; sourceTree = "<group>"; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ F8F44E6C2D59038D0075D79C /* iMCP */ = { isa = PBXNativeTarget; buildConfigurationList = F8F44E922D59038E0075D79C /* Build configuration list for PBXNativeTarget "iMCP" */; buildPhases = ( F8F44E692D59038D0075D79C /* Sources */, F8F44E6A2D59038D0075D79C /* Frameworks */, F8F44E6B2D59038D0075D79C /* Resources */, F84900952D63C74F0044AA81 /* Copy Executables */, ); buildRules = ( ); dependencies = ( ); fileSystemSynchronizedGroups = ( F8F44E6F2D59038D0075D79C /* App */, ); name = iMCP; packageProductDependencies = ( F8F44E9C2D5903F70075D79C /* MCP */, F873F48C2D712BCF0035CD0A /* Ontology */, F809556D2D7888920055B911 /* TypedStream */, F809556F2D7888920055B911 /* iMessage */, F8A7DE3D2DCB76F700530587 /* MCP */, F8D7C3162DCBD30500A4775F /* MCP */, F8D7C3192DCBD32100A4775F /* MCP */, F8D8C48D2DCE0E6800369E5C /* JSONSchema */, F87796FB2E0764AE00328CC6 /* MenuBarExtraAccess */, ); productName = iMCP; productReference = F8F44E6D2D59038D0075D79C /* iMCP.app */; productType = "com.apple.product-type.application"; }; F8F44EB52D5908D00075D79C /* imcp-server */ = { isa = PBXNativeTarget; buildConfigurationList = F8F44EBA2D5908D00075D79C /* Build configuration list for PBXNativeTarget "imcp-server" */; buildPhases = ( F8F44EB22D5908D00075D79C /* Sources */, F8F44EB32D5908D00075D79C /* Frameworks */, F8F44EB42D5908D00075D79C /* CopyFiles */, ); buildRules = ( ); dependencies = ( ); fileSystemSynchronizedGroups = ( F8F44EB72D5908D00075D79C /* CLI */, ); name = "imcp-server"; packageProductDependencies = ( F8CE997A2D591CF200C61CA2 /* MCP */, F88358362D64A085000317CD /* Logging */, F825BDBE2D9AD00E0063ADD7 /* ServiceLifecycle */, F825BDC02D9AD00E0063ADD7 /* UnixSignals */, ); productName = "imcp-server"; productReference = F8F44EB62D5908D00075D79C /* imcp-server */; productType = "com.apple.product-type.tool"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ F8F44E652D59038D0075D79C /* Project object */ = { isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 1620; LastUpgradeCheck = 1630; TargetAttributes = { F8F44E6C2D59038D0075D79C = { CreatedOnToolsVersion = 16.2; }; F8F44EB52D5908D00075D79C = { CreatedOnToolsVersion = 16.2; }; }; }; buildConfigurationList = F8F44E682D59038D0075D79C /* Build configuration list for PBXProject "iMCP" */; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); mainGroup = F8F44E642D59038D0075D79C; minimizedProjectReferenceProxies = 1; packageReferences = ( F88358352D64A085000317CD /* XCRemoteSwiftPackageReference "swift-log" */, F873F48B2D712BCF0035CD0A /* XCRemoteSwiftPackageReference "Ontology" */, F809556C2D7888920055B911 /* XCRemoteSwiftPackageReference "madrid" */, F825BDBD2D9AD00E0063ADD7 /* XCRemoteSwiftPackageReference "swift-service-lifecycle" */, F8D7C3182DCBD32100A4775F /* XCRemoteSwiftPackageReference "swift-sdk" */, F8D8C48C2DCE0E6800369E5C /* XCRemoteSwiftPackageReference "JSONSchema" */, F87796FA2E0764AE00328CC6 /* XCRemoteSwiftPackageReference "MenuBarExtraAccess" */, ); preferredProjectObjectVersion = 77; productRefGroup = F8F44E6E2D59038D0075D79C /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( F8F44E6C2D59038D0075D79C /* iMCP */, F8F44EB52D5908D00075D79C /* imcp-server */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ F8F44E6B2D59038D0075D79C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ F8F44E692D59038D0075D79C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; F8F44EB22D5908D00075D79C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ F8F44E902D59038E0075D79C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; name = Debug; }; F8F44E912D59038E0075D79C /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SWIFT_COMPILATION_MODE = wholemodule; }; name = Release; }; F8F44E932D59038E0075D79C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = App/App.entitlements; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 8; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = R7AYS6Z734; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = App/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = iMCP; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; INFOPLIST_KEY_LSUIElement = YES; INFOPLIST_KEY_NSCameraUsageDescription = "${PRODUCT_NAME} needs access to the camera to take pictures for the MCP server."; INFOPLIST_KEY_NSContactsUsageDescription = "${PRODUCT_NAME} needs access to provide contact information to the MCP server."; INFOPLIST_KEY_NSHumanReadableCopyright = "© 2025 Loopwork Limited. All rights reserved."; INFOPLIST_KEY_NSLocalNetworkUsageDescription = "${PRODUCT_NAME} uses the local network to connect to the MCP server."; INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "${PRODUCT_NAME} needs access to provide location information to the MCP server."; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "${PRODUCT_NAME} needs access to provide location information to the MCP server."; INFOPLIST_KEY_NSMicrophoneUsageDescription = "${PRODUCT_NAME} needs access to the microphone to record audio for the MCP server."; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; IPHONEOS_DEPLOYMENT_TARGET = 18.2; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 15.1; MARKETING_VERSION = 1.3.0; PRODUCT_BUNDLE_IDENTIFIER = com.loopwork.iMCP; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; SUPPORTED_PLATFORMS = macosx; SUPPORTS_MACCATALYST = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; XROS_DEPLOYMENT_TARGET = 2.2; }; name = Debug; }; F8F44E942D59038E0075D79C /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; AUTOMATION_APPLE_EVENTS = NO; CODE_SIGN_ENTITLEMENTS = App/App.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 8; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = ""; ENABLE_APP_SANDBOX = YES; ENABLE_HARDENED_RUNTIME = YES; ENABLE_INCOMING_NETWORK_CONNECTIONS = NO; ENABLE_OUTGOING_NETWORK_CONNECTIONS = NO; ENABLE_PREVIEWS = YES; ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = YES; ENABLE_RESOURCE_ACCESS_BLUETOOTH = NO; ENABLE_RESOURCE_ACCESS_CALENDARS = NO; ENABLE_RESOURCE_ACCESS_CAMERA = YES; ENABLE_RESOURCE_ACCESS_CONTACTS = YES; ENABLE_RESOURCE_ACCESS_LOCATION = YES; ENABLE_RESOURCE_ACCESS_PHOTO_LIBRARY = NO; ENABLE_RESOURCE_ACCESS_PRINTING = NO; ENABLE_RESOURCE_ACCESS_USB = NO; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = App/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = iMCP; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; INFOPLIST_KEY_LSUIElement = YES; INFOPLIST_KEY_NSCameraUsageDescription = "${PRODUCT_NAME} needs access to the camera to take pictures for the MCP server."; INFOPLIST_KEY_NSContactsUsageDescription = "${PRODUCT_NAME} needs access to provide contact information to the MCP server."; INFOPLIST_KEY_NSHumanReadableCopyright = "© 2025 Loopwork Limited. All rights reserved."; INFOPLIST_KEY_NSLocalNetworkUsageDescription = "${PRODUCT_NAME} uses the local network to connect to the MCP server."; INFOPLIST_KEY_NSLocationAlwaysAndWhenInUseUsageDescription = "${PRODUCT_NAME} needs access to provide location information to the MCP server."; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "${PRODUCT_NAME} needs access to provide location information to the MCP server."; INFOPLIST_KEY_NSMicrophoneUsageDescription = "${PRODUCT_NAME} needs access to the microphone to record audio for the MCP server."; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; IPHONEOS_DEPLOYMENT_TARGET = 18.2; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 15.1; MARKETING_VERSION = 1.3.0; PRODUCT_BUNDLE_IDENTIFIER = com.loopwork.iMCP; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "iMCP Developer Build Provision Profile"; SDKROOT = auto; SUPPORTED_PLATFORMS = macosx; SUPPORTS_MACCATALYST = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; XROS_DEPLOYMENT_TARGET = 2.2; }; name = Release; }; F8F44EBB2D5908D00075D79C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = R7AYS6Z734; MACOSX_DEPLOYMENT_TARGET = 15.1; PRODUCT_BUNDLE_IDENTIFIER = "com.loopwork.imcp-server"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; }; name = Debug; }; F8F44EBC2D5908D00075D79C /* Release */ = { isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; CODE_SIGN_STYLE = Manual; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=macosx*]" = R7AYS6Z734; MACOSX_DEPLOYMENT_TARGET = 15.1; PRODUCT_BUNDLE_IDENTIFIER = "com.loopwork.imcp-server"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ F8F44E682D59038D0075D79C /* Build configuration list for PBXProject "iMCP" */ = { isa = XCConfigurationList; buildConfigurations = ( F8F44E902D59038E0075D79C /* Debug */, F8F44E912D59038E0075D79C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; F8F44E922D59038E0075D79C /* Build configuration list for PBXNativeTarget "iMCP" */ = { isa = XCConfigurationList; buildConfigurations = ( F8F44E932D59038E0075D79C /* Debug */, F8F44E942D59038E0075D79C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; F8F44EBA2D5908D00075D79C /* Build configuration list for PBXNativeTarget "imcp-server" */ = { isa = XCConfigurationList; buildConfigurations = ( F8F44EBB2D5908D00075D79C /* Debug */, F8F44EBC2D5908D00075D79C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ F809556C2D7888920055B911 /* XCRemoteSwiftPackageReference "madrid" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/loopwork-ai/madrid"; requirement = { kind = upToNextMajorVersion; minimumVersion = 0.1.0; }; }; F825BDBD2D9AD00E0063ADD7 /* XCRemoteSwiftPackageReference "swift-service-lifecycle" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/swift-server/swift-service-lifecycle"; requirement = { kind = upToNextMajorVersion; minimumVersion = 2.7.0; }; }; F873F48B2D712BCF0035CD0A /* XCRemoteSwiftPackageReference "Ontology" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/loopwork-ai/Ontology"; requirement = { kind = upToNextMajorVersion; minimumVersion = 0.8.0; }; }; F87796FA2E0764AE00328CC6 /* XCRemoteSwiftPackageReference "MenuBarExtraAccess" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/orchetect/MenuBarExtraAccess"; requirement = { kind = upToNextMajorVersion; minimumVersion = 1.2.1; }; }; F88358352D64A085000317CD /* XCRemoteSwiftPackageReference "swift-log" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/apple/swift-log"; requirement = { kind = upToNextMajorVersion; minimumVersion = 1.6.2; }; }; F8D7C3182DCBD32100A4775F /* XCRemoteSwiftPackageReference "swift-sdk" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/modelcontextprotocol/swift-sdk"; requirement = { kind = revision; revision = 106167bad12cd8d004b0cbfcec8211c5408794d8; }; }; F8D8C48C2DCE0E6800369E5C /* XCRemoteSwiftPackageReference "JSONSchema" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/loopwork-ai/JSONSchema.git"; requirement = { kind = upToNextMajorVersion; minimumVersion = 1.3.0; }; }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ F809556D2D7888920055B911 /* TypedStream */ = { isa = XCSwiftPackageProductDependency; package = F809556C2D7888920055B911 /* XCRemoteSwiftPackageReference "madrid" */; productName = TypedStream; }; F809556F2D7888920055B911 /* iMessage */ = { isa = XCSwiftPackageProductDependency; package = F809556C2D7888920055B911 /* XCRemoteSwiftPackageReference "madrid" */; productName = iMessage; }; F825BDBE2D9AD00E0063ADD7 /* ServiceLifecycle */ = { isa = XCSwiftPackageProductDependency; package = F825BDBD2D9AD00E0063ADD7 /* XCRemoteSwiftPackageReference "swift-service-lifecycle" */; productName = ServiceLifecycle; }; F825BDC02D9AD00E0063ADD7 /* UnixSignals */ = { isa = XCSwiftPackageProductDependency; package = F825BDBD2D9AD00E0063ADD7 /* XCRemoteSwiftPackageReference "swift-service-lifecycle" */; productName = UnixSignals; }; F873F48C2D712BCF0035CD0A /* Ontology */ = { isa = XCSwiftPackageProductDependency; package = F873F48B2D712BCF0035CD0A /* XCRemoteSwiftPackageReference "Ontology" */; productName = Ontology; }; F87796FB2E0764AE00328CC6 /* MenuBarExtraAccess */ = { isa = XCSwiftPackageProductDependency; package = F87796FA2E0764AE00328CC6 /* XCRemoteSwiftPackageReference "MenuBarExtraAccess" */; productName = MenuBarExtraAccess; }; F88358362D64A085000317CD /* Logging */ = { isa = XCSwiftPackageProductDependency; package = F88358352D64A085000317CD /* XCRemoteSwiftPackageReference "swift-log" */; productName = Logging; }; F8A7DE3D2DCB76F700530587 /* MCP */ = { isa = XCSwiftPackageProductDependency; productName = MCP; }; F8CE997A2D591CF200C61CA2 /* MCP */ = { isa = XCSwiftPackageProductDependency; productName = MCP; }; F8D7C3162DCBD30500A4775F /* MCP */ = { isa = XCSwiftPackageProductDependency; productName = MCP; }; F8D7C3192DCBD32100A4775F /* MCP */ = { isa = XCSwiftPackageProductDependency; package = F8D7C3182DCBD32100A4775F /* XCRemoteSwiftPackageReference "swift-sdk" */; productName = MCP; }; F8D8C48D2DCE0E6800369E5C /* JSONSchema */ = { isa = XCSwiftPackageProductDependency; package = F8D8C48C2DCE0E6800369E5C /* XCRemoteSwiftPackageReference "JSONSchema" */; productName = JSONSchema; }; F8F44E9C2D5903F70075D79C /* MCP */ = { isa = XCSwiftPackageProductDependency; productName = MCP; }; /* End XCSwiftPackageProductDependency section */ }; rootObject = F8F44E652D59038D0075D79C /* Project object */; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mattt/iMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server