ExisOne Server
FreeNot checkedEnables AI assistants to manage software licenses through natural language commands by connecting to the ExisOne licensing platform.
About
Enables AI assistants to manage software licenses through natural language commands by connecting to the ExisOne licensing platform.
README
An MCP (Model Context Protocol) server that enables AI assistants like Claude to manage software licenses through natural language commands.
What is This?
This MCP server connects Claude Desktop to the ExisOne software licensing platform. Once configured, you can manage licenses using natural language:
- "List all my products" - View your product catalog
- "Show me all licenses" - List all license keys
- "Generate a license for [email protected] for MyProduct" - Create new keys
- "Get details for license XXXX-XXXX-XXXX-XXXX" - View specific license info
No more clicking through dashboards - just ask Claude.
Quick Start
1. Clone and Build
git clone https://github.com/exisllc/exisone-mcp.git
cd exisone-mcp
npm install
npm run build
2. Get Your Access Token
- Log in to ExisOne
- Go to Access Tokens in the sidebar
- Click Create Token
- Name it "MCP Server" and select permissions:
generate,verify - Copy the token (format:
exo_at_xxx_yyy) - shown only once!
3. Configure Claude Desktop
Edit your Claude Desktop config file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows example:
{
"mcpServers": {
"exisone": {
"command": "node",
"args": ["C:\\Users\\YOURNAME\\exisone-mcp\\dist\\index.js"],
"env": {
"EXISONE_API_URL": "https://www.exisone.com",
"EXISONE_ACCESS_TOKEN": "exo_at_YOUR_PUBLIC_ID_YOUR_SECRET",
"EXISONE_TENANT_ID": "1"
}
}
}
}
macOS/Linux example:
{
"mcpServers": {
"exisone": {
"command": "node",
"args": ["/Users/yourname/exisone-mcp/dist/index.js"],
"env": {
"EXISONE_API_URL": "https://www.exisone.com",
"EXISONE_ACCESS_TOKEN": "exo_at_YOUR_PUBLIC_ID_YOUR_SECRET",
"EXISONE_TENANT_ID": "1"
}
}
}
}
Replace:
- The path with the actual path where you cloned the repo (use
\\for Windows,/for macOS/Linux) EXISONE_ACCESS_TOKENwith your actual tokenEXISONE_TENANT_IDwith your tenant ID (visible in dashboard settings)
4. Restart Claude Desktop
Important: You must fully quit Claude Desktop - closing the window is not enough as it continues running in the background.
- Windows: Right-click the Claude icon in the system tray → Quit, or use Task Manager to end the "Claude" process
- macOS: Right-click the dock icon → Quit, or use Cmd+Q
Reopen Claude Desktop and go to Settings → Developer to verify the ExisOne server appears in the list.
Available Tools
| Tool | Description | Parameters |
|---|---|---|
list_products |
List all products for your tenant | None |
list_licenses |
List licenses with optional filters | productId, productName, activeOnly |
generate_license |
Generate a new activation key | productName (required), email (required), validityDays, planId |
get_license |
Get detailed license information | activationKey (required) |
Example Conversations
List products:
"What products do I have in ExisOne?"
Generate a license:
"Create a 30-day license for [email protected] for MyApp Pro"
Check a license:
"Show me the details for license ABCD-1234-EFGH-5678"
Filter licenses:
"List all active licenses for MyApp"
Configuration Options
| Environment Variable | Required | Description |
|---|---|---|
EXISONE_API_URL |
Yes | API URL (must be HTTPS). Default: https://www.exisone.com |
EXISONE_ACCESS_TOKEN |
Yes | Your API token in format exo_at_{publicId}_{secret} |
EXISONE_TENANT_ID |
Yes | Your tenant identifier |
EXISONE_TIMEOUT |
No | Request timeout in ms (default: 30000) |
Security Notes
- Token Security: Store your access token securely. Never commit it to version control.
- HTTPS Required: The MCP server validates that the API URL uses HTTPS.
- Permission Scope: The server inherits permissions from your access token. Only grant needed permissions.
- Tenant Isolation: Each token is scoped to a specific tenant.
Troubleshooting
Config changes not taking effect (Most Common Issue!)
Claude Desktop runs in the background even after closing the window. You must fully quit it:
- Windows: Open Task Manager (Ctrl+Shift+Esc), find "Claude" and click "End Task"
- Alternative: Right-click the Claude icon in the system tray (bottom-right corner) → Quit
- Then reopen Claude Desktop
Claude doesn't show ExisOne tools
- Go to Settings → Developer to check if the server is listed
- Verify your config file path is correct for your OS
- Check that the path to
dist/index.jsis absolute and correct - Make sure Claude Desktop is fully quit (not running in background) before restarting
- Check Claude Desktop logs for error messages
"EXISONE_API_URL environment variable is required"
Make sure all three environment variables are set in your Claude config:
EXISONE_API_URLEXISONE_ACCESS_TOKENEXISONE_TENANT_ID
"API error 401" or "API error 403"
- Verify your access token is correct and not expired
- Check that the token has the required permissions (
generate,verify) - Ensure the tenant ID matches your account
Development
# Install dependencies
npm install
# Build TypeScript
npm run build
# Watch mode for development
npm run dev
# Type check without building
npm run typecheck
Project Structure
exisone-mcp/
├── src/
│ ├── index.ts # Entry point with stdio transport
│ ├── server.ts # MCP server setup
│ ├── config.ts # Environment configuration
│ ├── api/
│ │ ├── client.ts # HTTP client for ExisOne API
│ │ └── types.ts # TypeScript interfaces
│ └── tools/
│ ├── index.ts # Tool registry
│ ├── list-products.ts
│ ├── list-licenses.ts
│ ├── generate-license.ts
│ └── get-license.ts
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md
Adding New Tools
- Create a new file in
src/tools/(e.g.,deactivate-license.ts) - Define the tool schema with name, description, and inputSchema
- Implement the handler function
- Register in
src/tools/index.ts
Example:
export const myTool = {
name: "my_tool",
description: "What the tool does",
inputSchema: {
type: "object" as const,
properties: {
param1: { type: "string", description: "..." }
},
required: ["param1"]
}
};
export async function handleMyTool(args, client) {
// Implementation
return { content: [{ type: "text", text: "Result" }] };
}
Links
License
MIT License - see LICENSE file for details.
Support
Installing ExisOne Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/exisllc/exisone-mcpFAQ
Is ExisOne Server MCP free?
Yes, ExisOne Server MCP is free — one-click install via Unyly at no cost.
Does ExisOne Server need an API key?
No, ExisOne Server runs without API keys or environment variables.
Is ExisOne Server hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install ExisOne Server in Claude Desktop, Claude Code or Cursor?
Open ExisOne Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare ExisOne Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
