CCM
/MCP
SkillsMCPMarketplacesDigestLearnAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Learn
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

MCP Server Simulator IOS IDB

inditextech/mcp-server-simulator-ios-idb
303
Summary

The MCP Server for iOS Simulator enables large language models to control and interact with iOS simulators through natural language commands. It provides comprehensive tools for simulator management (boot, shutdown, monitoring), application lifecycle operations (install, launch, terminate), UI interaction (tap, swipe, text input), and development tasks (screenshots, logs, debugging). The server solves the problem of programmatically testing iOS applications and automating simulator workflows by bridging the gap between LLMs and native iOS simulator capabilities.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Vibe Prospecting MCPVibe Prospecting MCP
Vibe Prospecting MCP
Connect Claude to +800M contacts, +150M companies. Find & Enrich leads in chat.
Try For Free →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Vibe Prospecting MCPVibe Prospecting MCP
Vibe Prospecting MCP
Connect Claude to +800M contacts, +150M companies. Find & Enrich leads in chat.
Try For Free →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →

📱 MCP Server for iOS Simulator

MCP Server

A Model Context Protocol (MCP) server that enables LLMs to interact with iOS simulators through natural language commands.

ℹ️ Overview

This MCP server provides a bridge between Large Language Models (LLMs) and iOS simulators, offering comprehensive control through natural language commands. Here's what it can do:

For detailed usage, see the Installation guide and Supported Commands sections. You can use this server either through direct MCP integration or as a standalone library.

Check out the Architecture section to understand how the components work together to enable natural language control of iOS simulators.

demo

🎮 Simulator Control

  • Create and manage simulator sessions
  • Boot, shutdown, and monitor simulator states
  • List available and running simulators
  • Focus simulator windows

📱 Application Management

  • Install and manage iOS applications
  • Launch, terminate, and uninstall apps
  • Monitor app states and verify installations
  • Handle app permissions and configurations

🖱️ UI Interaction & Testing

  • Interact with the simulator UI
  • Execute tap, swipe, and button press actions
  • Input text and key sequences
  • Access accessibility elements for UI testing
  • Record videos of UI interactions

🛠️ Development & Debugging

  • Capture screenshots and system logs
  • Debug applications in real-time
  • Monitor and analyze crash logs
  • Install dynamic libraries and manage app data

⚡ Advanced Features

  • Additional functionality includes:
    • Location simulation
    • Media injection
    • URL scheme handling
    • Contact database management
    • Keychain operations

For detailed usage, see the Installation guide and Supported Commands sections. You can use this server either through direct MCP integration or as a standalone library.

Check out the Architecture section to understand how the components work together to enable natural language control of iOS simulators.

📋 Requirements

  • macOS: Required for iOS simulator support
  • Node.js: v14.0.0 or higher
  • Homebrew: Required for installing dependencies
  • XCode: With iOS simulators installed

🚀 Installation

The easiest way to install this server is through Cline:

  1. Simply ask Cline:
Add this mcp to cline https://github.com/InditexTech/mcp-server-simulator-ios-idb
  1. Cline will handle the installation process automatically, including dependency management and configuration.

Alternatively, you can install it manually:

# Clone the repository
git clone https://github.com/InditexTech/mcp-server-simulator-ios-idb.git
cd mcp-server-simulator-ios-idb

# Create and activate Python virtual environment
python3 -m venv venv
source venv/bin/activate  # On Unix/macOS

# Install dependencies
npm install

# Build the project
npm run build

# Start the project
npm start

# Run tests
npm test

The installation process will automatically:

  1. Check if you're running macOS
  2. Install idb-companion via Homebrew
  3. Install fb-idb via pip in the virtual environment

Note: Make sure to keep the virtual environment activated while using the server. If you close your terminal and come back later, you'll need to reactivate the virtual environment with the source venv/bin/activate command before running npm start.

🔌 MCP Integration

To use this server with Claude or other LLM assistants:

  1. Add the server to your MCP settings in Claude Desktop:
{
  "mcpServers": {
    "ios-simulator": {
      "command": "node",
      "args": ["/path/to/mcp-server-simulator-ios-idb/dist/index.js"],
      "env": {}
    }
  }
}
  1. The LLM can now use natural language commands to control iOS simulators:
create a simulator session with iPhone 14
install app /path/to/my-app.ipa
launch app com.example.myapp
tap at 100, 200
take a screenshot

📚 Usage as a Library

You can also use this package as a library in your own projects:

🔰 Basic Usage

import { createMCPServer } from 'mcp-server-simulator-ios-idb';

async function main() {
  // Create an instance of the MCP server
  const { orchestrator } = createMCPServer();
  
  // Process natural language commands
  
  // Create a simulator session
  const sessionResult = await orchestrator.processInstruction('create session');
  console.log(`Session created: ${sessionResult.data}`);
  
  // Interact with the simulator
  await orchestrator.processInstruction('tap at 100, 200');
  
  // Capture a screenshot
  const screenshotResult = await orchestrator.processInstruction('take screenshot');
  console.log(`Screenshot saved at: ${screenshotResult.data}`);
}

main().catch(console.error);

🚀 Advanced Usage

You can also use the individual components directly:

import { 
  IDBManager, 
  NLParser, 
  MCPOrchestrator,
  ParserToOrchestrator,
  OrchestratorToIDB
} from 'mcp-server-simulator-ios-idb';

// Create instances
const idbManager = new IDBManager();
const parser = new NLParser();
const orchestrator = new MCPOrchestrator(parser, idbManager);

// Use the components directly
const sessionId = await idbManager.createSimulatorSession({
  deviceName: 'iPhone 12',
  platformVersion: '15.0'
});

await idbManager.tap(sessionId, 100, 200);

🏗️ Project Structure

mcp-server-simulator-ios-idb/
├── src/                      # Source code
│   ├── adapters/             # Adapter components
│   ├── idb/                  # IDB manager implementation
│   ├── mcp/                  # MCP server implementation
│   ├── orchestrator/         # Command orchestrator
│   ├── parser/              # Natural language parser
│   └── index.ts             # Main entry point
├── types/                   # TypeScript type definitions
├── scripts/                 # Installation scripts
├── package.json            # Project configuration
└── tsconfig.json          # TypeScript configuration

🎯 Supported Commands

The NLParser supports the following natural language commands:

🎮 Simulator Management

CommandDescriptionExample
Create sessionCreates a new simulator session"create session", "create simulator iPhone 12"
Terminate sessionTerminates the current session"terminate session", "close simulator"
List simulatorsLists available simulators"list simulators", "show simulators"
List booted simulatorsLists running simulators"list booted simulators", "show running simulators"
Boot simulatorBoots a simulator by UDID"boot simulator 5A321B8F-4D85-4267-9F79-2F5C91D142C2"
Shutdown simulatorShuts down a simulator"shutdown simulator 5A321B8F-4D85-4267-9F79-2F5C91D142C2"
Focus simulatorBrings simulator window to front"focus simulator", "bring simulator to front"
List simulator sessionsLists active simulator sessions"list simulator sessions", "show active sessions"

📱 App Management

CommandDescriptionExample
Install appInstalls an app on the simulator"install app /path/to/app.ipa"
Launch appLaunches an app on the simulator"launch app com.example.app"
Terminate appTerminates a running app"terminate app com.example.app"
Uninstall appUninstalls an app"uninstall app com.example.app"
List appsLists installed applications"list apps", "show installed apps"
Check if app installedChecks if an app is installed"is app com.example.app installed"

🖱️ UI Interaction

CommandDescriptionExample
TapTaps at specific coordinates"tap at 100, 200"
SwipePerforms a swipe gesture"swipe from 100, 200 to 300, 400"
Press buttonPresses a device button"press button HOME", "press button SIRI"
Input textTypes text"input text Hello World"
Press keyPresses a key by code"press key 4"
Press key sequencePresses a sequence of keys"press key sequence 4 5 6"

♿ Accessibility

CommandDescriptionExample
Describe elementsLists all accessibility elements"describe all elements", "show accessibility elements"
Describe pointDescribes element at coordinates"describe point 100, 200", "what's at 150, 300"

📸 Capture and Logs

CommandDescriptionExample
Take screenshotCaptures a screenshot"take screenshot", "capture screen"
Record videoRecords screen activity"record video /path/output.mp4"
Stop recordingStops video recording"stop recording", "stop video recording"
Get logsRetrieves system or app logs"get logs", "get logs for com.example.app"

🐛 Debug

CommandDescriptionExample
Start debugStarts a debug session"debug app com.example.app", "start debug com.example.app"
Stop debugStops a debug session"stop debug", "terminate debug session"
Debug statusGets debug session status"debug status", "show debug info"

💥 Crash Logs

CommandDescriptionExample
List crash logsLists available crash logs"list crash logs", "show crash logs"
Show crash logShows content of a crash log"show crash log crash_2023-01-01"
Delete crash logsDeletes crash logs"delete crash logs", "clear crash logs"

🔧 Additional Commands

CommandDescriptionExample
Install dylibInstalls a dynamic library"install dylib /path/to/library.dylib"
Open URLOpens a URL in the simulator"open url https://example.com"
Clear keychainClears the simulator's keychain"clear keychain"
Set locationSets the simulator's location"set location 37.7749, -122.4194"
Add mediaAdds media to the camera roll"add media /path/to/image.jpg"
Approve permissionsApproves app permissions"approve permissions com.example.app photos camera"
Update contactsUpdates contacts database"update contacts /path/to/contacts.sqlite"

The interface supports all commands available in the idb CLI tool, providing a comprehensive set of operations for iOS simulator automation.

🔍 Architecture

The server consists of three main components:

  1. IDBManager: Low-level component that interacts directly with iOS simulators through idb.
  2. NLParser: Component that interprets natural language instructions and converts them into structured commands.
  3. MCPOrchestrator: Central component that coordinates interactions between the parser and the IDBManager.

These components are connected through adapters:

  • ParserToOrchestrator: Converts parser results into orchestrator commands.
  • OrchestratorToIDB: Translates orchestrator commands into IDBManager calls.

🔌 MCP Integration

To use this server with the Model Context Protocol:

  1. Add the server to your MCP settings:
{
  "mcpServers": {
    "ios-simulator": {
      "command": "node",
      "args": ["/path/to/mcp-server-simulator-ios-idb/dist/index.js"],
      "env": {}
    }
  }
}
  1. Connect to the server in your LLM application:
const result = await useMcpTool({
  serverName: "ios-simulator",
  toolName: "process-instruction",
  arguments: {
    instruction: "create simulator session"
  }
});

🙏 Acknowledgments

This project would not be possible without facebook/idb, which provides the underlying iOS simulator control capabilities. We extend our sincere gratitude to the Facebook/Meta team and all contributors to the idb project for creating and maintaining such a powerful and reliable tool.

📄 License

This tool is available as open source under the terms of the Apache-2.0.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Vibe Prospecting MCPVibe Prospecting MCP
Vibe Prospecting MCP
Connect Claude to +800M contacts, +150M companies. Find & Enrich leads in chat.
Try For Free →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Categories
Mobile Development
UpdatedMar 6, 2026
View on GitHub

Related Mobile Development MCP Servers

View all →
Expo Android MCP

frndchagas/expo-android

MCP server for Android emulator automation via ADB.
4
iOS Simulator

joshuayoes/ios-simulator-mcp

MCP server for interacting with the iOS simulator
2k
Mobile Mcp

mobile-next/mobile-mcp

MCP server for iOS and Android Mobile Development, Automation and Testing
5.2k
Claude Mobile

alexgladkov/claude-in-mobile

Provides a unified MCP interface to automate Android and iOS simulators with commands like tap, screenshot, input text, and manage apps.
248
Mobile Device MCP

srmorete/mobile-device-mcp

Control iOS and Android devices with multi-device and seamless Native/WebView support.
23
Android

io.github.us-all/android

Android MCP — ADB-based device, apps, UI, logcat, emulator, files, system, debug
4