App Adapter

App Adapter

An MCP server that translates human GUI actions into machine-executable commands, enabling AI agents to control real software applications like Zoom, Excel, and WeChat via natural language or API calls.

Category
Visit Server

README

App Adapter — Control Any Software via Commands

The AI-to-App Bridge. Give any AI agent the power to control real software — and let agents contribute back to a shared ecosystem.

"zoom.send_chat|||text=Hello" → message typed into Zoom
"weibo.trends"                 → real-time trending topics  
"terminal.run|||cmd=dir"       → shell command executed

Why

Current AI agents are trapped in the browser. They can read web pages but can't do things in real apps. Codex's Record & Replay watches your screen — visual, slow, fragile.

App Adapter translates human GUI actions into machine-executable commands. No screen recording. No pixel matching. Just app_do("app.action", params).

And it's a living ecosystem. Agents don't just use adapters — they discover, learn, test, and publish them back to the community.

How It Works

┌──────────┐     ┌──────────────┐     ┌──────────┐
│ Any Agent │ ──▶ │ App Adapter  │ ──▶ │ Real App │
│ (Claude,  │     │ (MCP Server) │     │ (Zoom,   │
│  Codex,   │     │              │     │  WeChat, │
│  Cursor)  │     │ Strategies:  │     │  Excel,  │
│           │     │ • http/api   │     │  etc.)   │
│           │     │ • cdp/browser│     │          │
│           │     │ • uia/desktop│     │          │
│           │     │ • shell/cmd  │     │          │
└──────────┘     └──────────────┘     └──────────┘

Strategy Priority

Strategy Use When Speed Reliability
http App has a REST API Fast High
cdp App has a web interface Medium Medium
uia Desktop-only app, no API Slow Low
shell CLI tool or script Fast High
startfile Just need to open the app Instant High

Prefer http over visual strategies. Always. Visual automation is the last resort.

Quick Start

# One-line install (recommended)
pip install git+https://github.com/codenoob-jacky/app-adapter.git

# Or clone + dev install
git clone https://github.com/codenoob-jacky/app-adapter.git
cd app-adapter
pip install -e .

# With all optional deps (browser + desktop automation):
pip install "app-adapter[all] @ git+https://github.com/codenoob-jacky/app-adapter.git"

# Windows: scripts\install.bat   |   Mac/Linux: bash scripts/install.sh

CLI (install once, use everywhere)

app-adapter                          # Quick overview
app-adapter list                     # List all 26 apps
app-adapter scan                     # Find installable apps
app-adapter do "zoom.send_chat|||text=Hello"
app-adapter prompt --style brief     # Get contribution prompt for your agent
app-adapter server --port 8080       # Start HTTP server
app-adapter server --mcp             # Start MCP stdio server

Python

from app_adapter import app_do, app_list, app_scan, get_agent_prompt

print(app_list())
app_do("terminal.run|||cmd=echo Hello from Python")
print(get_agent_prompt("brief"))  # Inject this into your agent

HTTP Server

app-adapter server --port 8080
  -d '{"tool":"app_do","arguments":{"action":"zoom.send_chat|||text=Hello from AI"}}'

The Agent Ecosystem

This isn't just a tool — agents can discover, learn, and contribute:

# 1. Discover what's on this system
app_scan()                     # → "Found Zoom, Slack, VS Code, Spotify..."

# 2. Register a new app  
app_register("spotify|||Spotify|||https://open.spotify.com|||cdp|||entertainment")

# 3. Teach it actions
app_learn("spotify|||search|||Search tracks|||cdp|||input[data-testid='search-input']|||fill")
app_learn("spotify|||play|||Play/pause|||cdp|||button[data-testid='play-button']|||click")

# 4. Test before sharing
app_test("spotify.search|||query=Bohemian Rhapsody")

# 5. Publish to community
app_publish("spotify")

# Other agents can then discover and install it:
app_search("spotify")          # → Found in registry
app_install("spotify")         # → Downloaded and merged
app_do("spotify.play")

Full API

Function Description Example
app_do(spec) Execute an action app_do("zoom.send_chat|||text=Hi")
app_list(category?) List all apps & actions app_list("social")
app_register(spec) Register new application app_register("slack|||Slack|||https://slack.com|||cdp|||communication")
app_learn(spec) Teach new action to app app_learn("slack|||send|||Send msg|||cdp|||selector|||fill_then_click")
app_scan() Discover installed apps app_scan()
app_search(query?) Search community registry app_search("discord")
app_install(name) Install from registry app_install("spotify")
app_publish(name) Publish to registry app_publish("my_slack_adapter")
app_export(name?) Export adapter as JSON app_export("zoom")
app_import(json) Import adapter from JSON app_import('{"app":{...}}')
app_test(spec) Test action with report app_test("zoom.send_chat|||text=Test")

Built-in Apps (26 apps, 80+ actions)

Category Apps
Communication Zoom, Slack, Discord, Teams, Outlook
Social Media WeChat MP, Weibo, Zhihu, Bilibili, Xiaohongshu, Douyin, X/Twitter
Productivity Excel, Word, PowerPoint, PDF, Notion, GitHub
Development VS Code, Terminal, Postman
Design Figma, Canva
Finance TradingView
Utility Browser (navigate, search, screenshot)

Make Your Agent a Contributor

The killer feature: agents that voluntarily improve the ecosystem.

# Get the contribution prompt
app-adapter prompt --style full

# Inject it into your agent's system message.
# Now your agent will:
#   - Discover unregistered apps with app_scan()
#   - Check the registry with app_search()
#   - Register + teach + test + publish autonomously

Every contribution helps every AI agent worldwide. The registry grows exponentially.

Connect to Your Agent

Claude Desktop

{
  "mcpServers": {
    "app-adapter": {
      "command": "app-adapter",
      "args": ["server", "--mcp"]
    }
  }
}

Codex

# codex.yaml or .codex/config.json
mcp:
  app-adapter:
    type: stdio
    command: app-adapter
    args: [server, --mcp]

Cursor

// .cursor/mcp.json
{
  "mcpServers": {
    "app-adapter": {
      "command": "app-adapter",
      "args": ["server", "--mcp"]
    }
  }
}

LangChain / OpenAI Agents SDK

from app_adapter import app_do, get_agent_prompt
# Inject the prompt + wrap tools. See docs/INTEGRATION.md for full examples.

Full integration guide: docs/INTEGRATION.md

Community Registry

The registry/ folder in this repo is the community adapter registry. Anyone (human or agent) can contribute:

  1. Create your adapter with app_register() + app_learn()
  2. Test with app_test()
  3. Export with app_export("your_app")
  4. Save the JSON to registry/your_app.json
  5. Open a PR to this repo

Agents discover these via app_search() → app_install().

Current Community Adapters

Adapter Actions
Slack open, send_message, search, jump_to_channel
Discord open, send_message, mute_toggle
Spotify open, search, play, next_track, get_current

Be the next contributor. → registry/

Design Philosophy

Humans use GUI. Machines need commands. The adapter is the translation layer. Don't make AI learn to see — teach apps to listen. Then let agents share what they've learned.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured