Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
df60c48
feat: Add Swift SDK for MCP Apps
ochafik Dec 11, 2025
4f7916c
Merge main into swift-sdk
ochafik Dec 11, 2025
4b23834
chore: Remove non-existent Kotlin SDK references
ochafik Dec 11, 2025
4961d00
fix: Update Swift SDK tests for API changes
ochafik Dec 11, 2025
13cf904
feat: Display server name above tool name in cards
ochafik Dec 11, 2025
b8534d4
feat(swift-host): Add teardown pattern when removing tool calls
ochafik Dec 11, 2025
af07189
fix(swift-host): Actually await teardown before removing card
ochafik Dec 11, 2025
5277436
Merge origin/main into ochafik/swift-sdk
ochafik Dec 11, 2025
b46c805
feat(swift-host): Add visual feedback during teardown
ochafik Dec 11, 2025
4686fa5
fix(swift-host): Robust teardown with single source of truth
ochafik Dec 11, 2025
35d20ff
update .prettierignore
ochafik Dec 11, 2025
b2ff5db
fix(swift-sdk): Fix teardown params and WebView lifecycle
ochafik Dec 11, 2025
2268d5e
feat(swift-host): Add toast notifications for teardown errors
ochafik Dec 11, 2025
8295077
fix(swift): Add request timeout and initialization check for teardown
ochafik Dec 11, 2025
72c8b82
feat(swift-sdk): reduce sendResourceTeardown default timeout to 0.5s
ochafik Dec 11, 2025
6271126
fix(swift-host): update example to use new typed params API
ochafik Dec 11, 2025
3c0aec9
Merge main into swift-sdk
ochafik Dec 15, 2025
c86ddf2
Merge origin/main into ochafik/swift-sdk
ochafik Dec 16, 2025
5561c9b
Merge main into swift-sdk
ochafik Dec 17, 2025
cbe0a60
Merge remote swift-sdk and main
ochafik Dec 17, 2025
da0b36f
ci: remove kotlin job (no kotlin folder on this branch)
ochafik Dec 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,19 @@ jobs:

- run: npm run prettier

swift:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4

- name: Build Swift SDK
working-directory: swift
run: swift build

- name: Test Swift SDK
working-directory: swift
run: swift test

e2e:
runs-on: ubuntu-latest
steps:
Expand Down
10 changes: 10 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,13 @@ examples/basic-server-react/**/*.ts
examples/basic-server-react/**/*.tsx
examples/basic-server-vanillajs/**/*.ts
examples/basic-server-vanillajs/**/*.tsx

# Swift package manager build artifacts
sdk/swift/.build/
examples/basic-host-swift/.build/
examples/basic-host-swift/build/

# Swift build artifacts
swift/.build/
swift/.build
examples/basic-host-swift/.build
34 changes: 34 additions & 0 deletions examples/basic-host-swift/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Xcode
.DS_Store
*/build/*
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
*.xccheckout
*.moved-aside
DerivedData/
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace/

# Swift Package Manager
.build/
.swiftpm/

# CocoaPods
Pods/

# Intermediate outputs
intermediate-outputs/
build/
.build/
*.xcodeproj/
DerivedData/
Package.resolved
32 changes: 32 additions & 0 deletions examples/basic-host-swift/Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// swift-tools-version: 6.0
import PackageDescription

let package = Package(
name: "BasicHostSwift",
platforms: [
.iOS(.v16),
.macOS(.v13)
],
products: [
.executable(
name: "BasicHostSwift",
targets: ["BasicHostApp"]
),
],
dependencies: [
// Local MCP Apps Swift SDK
.package(path: "../../swift"),
// MCP Swift SDK for MCP client (using spec-update branch with _meta support)
.package(url: "https://github.com/ajevans99/swift-sdk.git", branch: "spec-update"),
],
targets: [
.executableTarget(
name: "BasicHostApp",
dependencies: [
.product(name: "McpApps", package: "swift"),
.product(name: "MCP", package: "swift-sdk"),
],
path: "Sources/BasicHostApp"
),
]
)
Loading
Loading