Distribution repo for the OutSystems MCP. To install, paste the matching prompt below into your AI assistant.
> /plugin marketplace add OutSystems/outsystems-mcp> /plugin install outsystems@outsystems
Repo: OutSystems/outsystems-mcp
What's inside
Distribution repo for the OutSystems MCP. To install, paste the matching prompt below into your AI assistant.
Early Alpha. Please Read Before Using This project is in early alpha and is provided as-is, without warranties or guarantees of any kind. It is not production-ready, expect bugs, incomplete features, breaking changes, and unstable behaviors. Do not rely on it for critical, commercial, or production use. No support, SLAs, or maintenance commitments are offered. We are sharing this publicly because we value community input, not because it is ready for broad adoption. Bug reports, feature requests, and feedback are welcome, feel free to open an issue. Responses and fixes happen on a best-effort basis with no defined timeline.
Paste into Claude Code:
Install the OutSystems outsystems-mcp plugin from OutSystems/outsystems-mcp on GitHub.
Step 1: run `claude plugin marketplace add OutSystems/outsystems-mcp`.
Step 2: run `claude plugin install outsystems@outsystems`.
Step 3: ask me for my OutSystems tenant hostname (something like `mycompany.outsystems.dev`).
Step 4: when I tell you, run `claude mcp add -s user --transport http outsystems https://<my-tenant>/mcp` (substitute my actual tenant for `<my-tenant>`). Add no `--client-id` and no `--callback-port`: the server supports OAuth Dynamic Client Registration, so Claude Code registers its own client on an ephemeral loopback port.
Step 5: tell me to restart Claude Code, then ask anything OutSystems-related; you'll drive the OAuth flow automatically via Claude Code's synthesized `authenticate` tool (a client convenience, not a server tool). If that doesn't trigger, or a call fails with an auth error, tell me to run `/mcp -> outsystems -> Authenticate` manually as the fallback.
After install, you can also type /outsystems-feedback <message> in Claude Code to send feedback about the agent experience so the maintainers can act on it. The slash command is Claude-Code-only (and uses the outsystems- prefix so it doesn't collide with Claude Code's built-in /feedback, which routes to Anthropic's issue tracker); on other harnesses, ask the agent in plain language ("send a thumbs-up about the OutSystems agent") and it will invoke the underlying feedback tool.
Use the local proxy below. Claude Desktop's native Add custom connector flow always fails during OAuth sign-in against any OutSystems tenant: the connector's claude.ai callback URL is rejected, because the tenant's identity provider accepts only loopback redirect URIs. It is not a working install path; the native steps are kept in the collapsed section below for reference only.
Paste into Claude Desktop (requires Node.js with npx available on your machine):
Install the OutSystems MCP server in Claude Desktop via a local proxy.
Step 1: confirm Node.js is available (`npx --version`). If it isn't, stop and tell me to install Node.js first — writing the config below without it produces a server that silently fails to connect. Then install `mcp-remote` globally: `npm install -g mcp-remote` (idempotent, safe if already installed).
Step 2: ask me for my OutSystems tenant hostname (something like `mycompany.outsystems.dev`). Strip any scheme, leading `www.`, trailing slash, and path or query, keeping only the host. If the result doesn't match `^[A-Za-z0-9]([A-Za-z0-9.-]*[A-Za-z0-9])?$`, ask again rather than proceeding with an unvalidated value.
Step 3: locate the Claude Desktop config file. macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`, Windows: `%APPDATA%\Claude\claude_desktop_config.json`, Linux: `~/.config/Claude/claude_desktop_config.json`. Read the file (start from `{}` if it doesn't exist). Preserve every existing key — other entries may carry other MCP servers' credentials in their `args`/`env`, so don't paste the full file contents back to me; quote only the `outsystems` entry you're adding or changing. Patch the top-level `mcpServers` object by adding or replacing the `outsystems` entry:
- macOS/Linux: `{"command": "npx", "args": ["mcp-remote", "https://<my-tenant>/mcp"]}`
- Windows: `{"command": "cmd", "args": ["/c", "npx mcp-remote https://<my-tenant>/mcp"]}` (safe here because Step 2 already restricted the tenant hostname to the pattern above, so it can't break out of this shell string)
Substitute my actual tenant hostname for `<my-tenant>`. Write the file back.
Step 4: tell me to restart Claude Desktop.
Step 5: After restarting, if the server fails to connect: Claude Desktop launches processes with a minimal PATH, and a broken, stale, or mistyped `"command"` value looks identical to Desktop. macOS/Linux, replace whatever the `"command"` value currently is with the full path from `which npx`. Windows, if the `"command"` value is anything other than `"cmd"`, restore it to `"cmd"` first; then replace whatever token stands in for `npx` inside the `/c` argument string with the `.cmd` path from `where npx` (the line ending in `.cmd`), quoting it if it contains a space — it commonly does (e.g. `C:\Program Files\nodejs\npx.cmd`). Restart Claude Desktop again and retry; if it still doesn't connect after that, stop and point me at https://github.com/OutSystems/outsystems-mcp#troubleshooting rather than continuing to guess. Otherwise, the first OutSystems tool call will open a browser window for OAuth sign-in; complete the sign-in when prompted.
Once the MCP server is wired up above, install the plugin too: it delivers the conventions doc.
Requires a paid plan: Plugins require a paid plan (Pro, Max, Team, Enterprise), and Enterprise admins may restrict which plugins install.
Add the OutSystems/outsystems-mcp marketplace and install the outsystems plugin from Claude Desktop's plugin install flow, the same marketplace and plugin the Claude Code recipe above uses, then restart Claude Desktop.
https://<my-tenant>/mcp, substituting your OutSystems tenant hostname (something like mycompany.outsystems.dev).Available on Free, Pro, Max, Team and Enterprise, with Free limited to one custom connector. A custom connector is also reached from Anthropic's cloud rather than from your machine, so it cannot reach a tenant that is VPN-only or IP-allowlisted; the local proxy is required there too.
If the flow starts working: on a Team or Enterprise plan you may not see "Add custom connector" at all, because adding custom connectors is an organization-level permission. An Owner adds the connector in Admin settings > Connectors and members then click Connect on it. If your organization has custom connectors disabled entirely, no member can add one and neither can an Owner without changing that policy.
Note: the plugin installed above delivers the same OutSystems conventions doc Claude Code gets, including the confirm-before-destructive rule, once both the local proxy and the plugin are set up. Plugins require a paid plan, so on Free the gap remains: read SKILL.md if you want the conventions, and expect to confirm destructive operations yourself rather than being prompted.
Install the Power yourself from the Powers panel: Add Custom Power > Import power from GitHub, paste the URL below, then Install.
https://github.com/OutSystems/outsystems-mcp/tree/main/kiro/outsystems
Then paste into Kiro Chat:
Finish setting up the OutSystems Power in Kiro.
Step 1: ask me for my OutSystems tenant hostname (something like `mycompany.outsystems.dev`).
Step 2: when I tell you, set the URL `https://<my-tenant>/mcp` in ~/.kiro/settings/mcp.json under top-level `mcpServers.outsystems` (read first, preserve every other entry): `{"type": "http", "url": "https://<my-tenant>/mcp"}`.
Step 3: tell me the OAuth sign-in opens automatically on the next OutSystems tool call. Kiro runs the flow itself and opens the browser for the localhost callback; I just complete the sign-in when prompted. There is no `authenticate` tool to call in Kiro.
The tenant URL goes under the top-level mcpServers, not under powers.mcpServers. Kiro rewrites the whole powers block on every Power install, uninstall or update, so a URL stored there is lost on the next update; a URL at the top level is untouched.
The GitHub import registers the Power without an icon. If you want the OutSystems logo in the Powers list, register it yourself instead. Paste into Kiro Chat:
Install the OutSystems Power from https://github.com/OutSystems/outsystems-mcp.
Step 1: clone the repo to ~/git/outsystems-mcp if it isn't there yet: `git clone https://github.com/OutSystems/outsystems-mcp.git ~/git/outsystems-mcp`.
Step 2: base64-encode ~/git/outsystems-mcp/kiro/outsystems/icon.png with `base64 -w0` (Linux) or `base64 -i` (macOS). Then write ~/.kiro/powers/registries/outsystems.json with this content (substitute the literal value of $HOME, and inline the base64 string in place of <ICON_BASE64>):
{"name":"OutSystems","type":"local","powers":[{"name":"outsystems","displayName":"OutSystems - MCP","description":"Edit, publish, deploy OutSystems apps from your AI assistant.","iconUrl":"data:image/png;base64,<ICON_BASE64>","source":{"type":"local","path":"$HOME/git/outsystems-mcp/kiro/outsystems"},"autoInstall":true}]}
Step 3: Kiro watches that directory and installs the Power within a few seconds. Restart only if it doesn't appear.
Step 4: then complete Steps 1 to 3 of the main recipe above to set the tenant URL.
The icon has to be inlined as base64 because Kiro's Powers view only loads images from data: URIs or its own CDN, so a raw.githubusercontent.com URL will not render.
On a Copilot Business/Enterprise plan, an admin must enable the "MCP servers in Copilot" policy.
One-click: Add the OutSystems MCP server to VS Code. VS Code prompts you for your tenant hostname the first time the server starts and remembers it after that. You still need the conventions doc, so run Step 3 of the recipe below afterwards.
Or paste into VS Code copilot chat:
FAQ
outsystems is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes outsystems. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it