npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

wso2-api-platform-mcp

v1.0.0

Published

Claude Desktop Extension for WSO2 API Platform — manage APIs, gateways, deployments, and more through natural language

Readme

WSO2 API Platform — MCP Desktop Extension

License: MIT

A Claude Desktop Extension (MCP) that connects Claude to your self-hosted WSO2 API Platform instance, enabling natural language management of APIs, gateways, deployments, and more.

What This Does

This extension exposes 90 tools across 17 categories from the WSO2 API Platform, allowing Claude Desktop users to:

| Category | Tools | Description | |---|---|---| | Organizations | 3 | Get org details, register new orgs, check subscriptions | | Projects | 5 | Full CRUD for project containers | | REST APIs | 7 | Create, update, delete APIs + validation + gateway association | | API Deployments | 6 | Deploy, undeploy, restore, and manage deployment artifacts | | API Publications | 4 | Publish/unpublish APIs to developer portals | | Gateways | 8 | Gateway CRUD + status, artifacts, and manifest | | Gateway Tokens | 3 | List, rotate, and revoke gateway authentication tokens | | Applications | 5 | Consumer application CRUD | | Subscriptions | 5 | API subscription management with filters | | Subscription Plans | 5 | Throttling, quota, and billing plan management | | DevPortals | 8 | Developer portal CRUD + activate/deactivate | | MCP Proxies | 6 | MCP server proxy CRUD + remote server info fetch | | MCP Deployments | 6 | Deploy/undeploy MCP proxies to gateways | | LLM Templates | 5 | AI model provider template management | | LLM Providers | 6 | LLM provider instance management | | LLM Proxies | 5 | AI model proxy management | | Custom Policies | 3 | Gateway custom policy management |

Prerequisites

  • Claude Desktop (Pro, Max, Team, or Enterprise plan)
  • A running WSO2 API Platform instance
  • Network access from your machine to the WSO2 instance
  • Node.js 18+

Quick Start

1. Clone and Install

git clone https://github.com/Kavirubc/api-platform-mcp.git
cd api-platform-mcp
pnpm install

2. Configure Environment

cp .env.example .env

Edit .env with your WSO2 instance details:

# Required: Your WSO2 API Platform URL
WSO2_BASE_URL=https://your-wso2-instance:9243

# Option A: Pre-obtained JWT token
WSO2_TOKEN=eyJhbGciOiJSUzI1NiIs...

# Option B: OAuth2 client credentials (auto-refreshes tokens)
WSO2_CLIENT_ID=your-client-id
WSO2_CLIENT_SECRET=your-client-secret

# For self-signed certificates (development)
WSO2_VERIFY_SSL=false

3. Add to Claude Desktop

Add this to your Claude Desktop MCP configuration (claude_desktop_config.json):

{
  "mcpServers": {
    "wso2-api-platform": {
      "command": "node",
      "args": ["/absolute/path/to/api-platform-mcp/index.js"],
      "env": {
        "WSO2_BASE_URL": "https://your-wso2-instance:9243",
        "WSO2_TOKEN": "your-jwt-token",
        "WSO2_VERIFY_SSL": "false"
      }
    }
  }
}

4. Restart Claude Desktop

After updating the config, restart Claude Desktop. You should see "WSO2 API Platform" in the connected tools.

Authentication

The extension supports two authentication methods:

Option A: Pre-obtained JWT Token (Simplest)

  1. Obtain a JWT token from your WSO2 Thunder STS (via the sample app at https://localhost:3000 or the OAuth2 flow)
  2. Set WSO2_TOKEN to the access token value
  3. You are responsible for refreshing the token when it expires

Option B: OAuth2 Client Credentials (Recommended for Production)

  1. Register an OAuth2 application from the Thunder STS kickstart.sh script
  2. Set WSO2_CLIENT_ID and WSO2_CLIENT_SECRET from the registration output
  3. The extension will automatically acquire and refresh tokens

Note: The JWT must contain an organization claim (UUID). All API operations are automatically scoped to this organization — no separate org ID is needed in requests.

Example Prompts

Once connected, try these with Claude:

"List all my projects"

"Create a new project called 'Payments' with handle 'payments-v2'"

"Show me all APIs in the payments project"

"Create a REST API called 'Payment Gateway' with context '/payments' and version 'v1.0.0' in project {projectId}"

"Deploy the payment API to gateway {gatewayId}"

"What gateways are registered and what's their connection status?"

"List all MCP proxies in my project"

"Show me the subscription plans available"

"Publish the payments API to the default developer portal"

Architecture

api-platform-mcp/
├── index.js              # MCP server entry point (stdio transport)
├── src/
│   ├── client.js         # WSO2 API client (auth, HTTP, SSL)
│   ├── utils.js          # Shared helpers (formatting, validation)
│   └── tools/            # 17 tool modules
│       ├── organizations.js
│       ├── projects.js
│       ├── apis.js
│       ├── api-deployments.js
│       ├── api-publications.js
│       ├── gateways.js
│       ├── gateway-tokens.js
│       ├── applications.js
│       ├── subscriptions.js
│       ├── subscription-plans.js
│       ├── devportals.js
│       ├── mcp-proxies.js
│       ├── mcp-deployments.js
│       ├── llm-templates.js
│       ├── llm-providers.js
│       ├── llm-proxies.js
│       └── custom-policies.js
├── manifest.json         # MCPB Desktop Extension manifest
├── package.json
├── .env.example
└── docs/
    └── DesignProposal.md # Full design & API surface analysis

Development

# Run with --help to see available tools count
node index.js --help

# Test locally (will wait for MCP protocol on stdin)
WSO2_BASE_URL=https://localhost:9243 WSO2_TOKEN=your-token node index.js

Self-signed Certificates

For development environments with self-signed certificates, set:

WSO2_VERIFY_SSL=false

Documentation

  • Design Proposal — Complete API surface analysis, tool design, and architecture decisions

License

MIT