{
  "markdown": "# Airship Agent Tools\n\nAirship tools and skills for AI assistants.\n\n> **Warning:** Only install plugins and extensions from sources you trust. Airship does not guarantee compatibility with all AI assistant versions.\n\n## What's included\n\n- **MCP server** - push API, channel management, SDK migration, build verification, and all Airship skills exposed as prompts\n- **Skills** (`skills/`) - standalone skill files for any assistant that supports them (push, message center, RTDS, wallet, workflows, and more)\n\n---\n\n## Install as a Claude Code Plugin\n\nClaude Code plugins expose skills as slash commands and also run the MCP server automatically.\n\n### Via the community marketplace (recommended)\n\nThe plugin is published in Anthropic's community marketplace:\n\n```bash\nclaude plugin marketplace add anthropics/claude-plugins-community\nclaude plugin install airship-agent-tools@claude-community\n```\n\nSkills are available as `/airship-agent-tools:<skill-name>`.\n\n### From a local clone\n\nUse this when developing against a checkout of this repo:\n\n```bash\nclaude plugin marketplace add /path/to/agent-tools\nclaude plugin install airship\n```\n\nSkills are available as `/airship:<skill-name>`.\n\n### Manual (direct plugin dir)\n\nLoad without installing - useful for development:\n\n```bash\nclaude --plugin-dir /path/to/agent-tools\n```\n\n---\n\n## Install the MCP Server\n\nThe MCP server provides tools for push notifications, channel management, SDK migration, and build verification. Requires [uv](https://docs.astral.sh/uv/).\n\n### Configuration\n\nAdd to your assistant's MCP config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"airship-mcp\": {\n      \"command\": \"uv\",\n      \"args\": [\n        \"run\",\n        \"--directory\", \"/path/to/agent-tools\",\n        \"airship-mcp\"\n      ],\n      \"env\": {\n        \"AIRSHIP_APP_KEY\": \"your_app_key\",\n        \"AIRSHIP_CLIENT_ID\": \"your_client_id\",\n        \"AIRSHIP_CLIENT_SECRET\": \"your_client_secret\",\n        \"AIRSHIP_REGION\": \"us\"\n      }\n    }\n  }\n}\n```\n\nCreate OAuth client credentials in the Airship dashboard: next to your project name, select the dropdown menu, then **Settings**. Under **Project settings**, select **OAuth**. Enable **Allow Basic Auth** when creating credentials to generate a Client Secret. Enable the **Push**, **Channels**, **Named Users**, and **Reports** scopes at minimum. The Reports scope is required for the reports skills (push performance analysis, app activity summaries) and any direct calls to `/api/reports/*`.\n\n### Config file locations by assistant\n\n| Assistant | Config file |\n|---|---|\n| Claude Code | `.mcp.json` in project root, or `~/.claude/mcp.json` globally |\n| Cursor | `.cursor/mcp.json` in project, or `~/.cursor/mcp.json` globally |\n| Windsurf | `~/.codeium/windsurf/mcp_config.json` |\n| Other | See your assistant's MCP documentation |\n\n### Run directly\n\n```bash\ncd /path/to/agent-tools\nAIRSHIP_APP_KEY=your_key AIRSHIP_CLIENT_ID=your_client_id AIRSHIP_CLIENT_SECRET=your_client_secret AIRSHIP_REGION=us uv run airship-mcp\n```\n\n> **Note:** If you are adding the MCP server to your configuration for the first time, a full restart of your CLI/assistant is recommended to ensure the new settings are detected. While `/mcp reload` restarts existing servers, it may not always discover newly created configuration files.\n\n### Updating your credentials\n\nTo change your App Key or OAuth credentials later (after rotating a secret or creating a new credential), edit the same `env` block in your MCP config file (see the locations table above) and **fully restart your assistant** so the cached OAuth token is reissued.\n\nIf you are only **adding a missing scope** to an existing credential — for example, enabling **Reports** for the reports skills — you do not need to change the App Key, Client ID, or Client Secret. Enable the scope in the dashboard (**Settings → OAuth →** edit the credential), then restart your assistant to refresh the cached token. A `401 \"Missing required scope\"` response from an `/api/...` call is the signal that the credential is missing a scope the skill needs.\n\n---\n\n## Install Individual Skills\n\nSkills are Markdown files that give your assistant guided workflows for specific Airship features. Copy any skill folder into the directory your assistant reads for skills or rules.\n\n### Skills location\n\n```\nskills/\n├── api/           push-notification, email-registration, sms-registration, tags, ...\n├── mobile/        push, message-center, migration, custom-views, sdk-reference\n├── rtds/          rtds-connection\n├── wallet/        update-wallet-pass\n└── workflows/     complete-user-onboarding, register-associate-email, extract-unique-tags-and-attributes, ...\n```\n\n### Install by assistant\n\n| Assistant | Skills directory |\n|---|---|\n| Claude Code | `.claude/skills/<skill-name>/` in project, or `~/.claude/skills/` globally |\n| Cursor | `.cursor/skills/<skill-name>/` in project |\n| Windsurf | `.windsurf/rules/<skill-name>/` in project |\n| Other | See your assistant's documentation for custom instructions or rules |\n\n### Example - install the push-notification skill\n\n```bash\n# Claude Code\ncp -r skills/api/push-notification .claude/skills/\n\n# Cursor\ncp -r skills/api/push-notification .cursor/skills/\n```\n\nThen invoke it with `/push-notification` in chat (exact command syntax varies by assistant).\n\n### Install all public skills at once\n\n```bash\ncp -r skills/api/* .cursor/skills/\ncp -r skills/mobile/* .cursor/skills/\ncp -r skills/workflows/* .cursor/skills/\n# etc.\n```\n\nOr use the MCP server's `install_skills` tool to install them interactively once the server is connected.\n\n---\n\n## Install Skills for Gemini CLI\n\nLink all Airship skills to the Gemini CLI using the included setup script. Requires Python 3 and the [Gemini CLI](https://github.com/google-gemini/gemini-cli) installed and authenticated.\n\n```bash\ncd /path/to/agent-tools\npython3 tools/setup_gemini.py\n```\n\nThe script flattens the nested `skills/` directory into the format Gemini expects and runs `gemini skills link --consent` to register them. Re-run it whenever skills are updated.\n\n---\n\n## Install as a Claude Desktop Extension\n\nThe extension bundles the MCP server and skills into a single file for one-click installation.\n\n1. Double-click `airship-mcp.mcpb`, or drag it into **Claude Desktop -> Settings -> Extensions**.\n2. Enter your credentials when prompted: App Key, OAuth Client ID, and OAuth Client Secret.\n\n---\n\n## Keeping up to date\n\nHow you update depends on how you installed:\n\n| Installation method | How to update |\n|---|---|\n| Git clone + MCP config (any client) | `git pull` in the repo directory, then restart your client |\n| Claude Code plugin (marketplace) | Claude Code checks at startup and notifies you — run `/reload-plugins` to apply |\n| Claude Desktop extension (`.mcpb`) | Download the latest `.mcpb` from the releases page and reinstall |\n| Skills only | `git pull`, then copy updated skill files into your assistant's skills/rules directory |\n\nFor git-based installs, `uv` automatically picks up dependency updates on the next run — no manual reinstall needed.\n\n---\n\n## License\n\nApache 2.0 - see [LICENSE](LICENSE).\n",
  "bytes": 7115,
  "sha": "6cddff62ca04a044cf197d9d6dfa9e4b8f6e8484705df7ac23b74f7847997a79",
  "repo_slug": "urbanairship/agent-tools",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_urbanairship_agent_tools_airship_agent_t_cfc9f471/readme"
}