loading…
Search for a command to run...
loading…
Enables LLMs to interact with the Aspro.Cloud REST API through self-describing tools for discovering and calling modules, entities, and methods.
Enables LLMs to interact with the Aspro.Cloud REST API through self-describing tools for discovering and calling modules, entities, and methods.
npm version npm downloads install size types CI License: MIT Node
A Model Context Protocol server that exposes the Aspro.Cloud REST API to LLM clients (Claude Desktop, Claude Code, etc.). The server ships with the bundled OpenAPI spec, so the model can discover modules, entities and methods on its own and call them safely.
aspro_list_modules → aspro_list_entities → aspro_list_methods → aspro_describe, and only then aspro_calls — no need to memorize endpoints./get/{id}, /update/{id}, /delete/{id} and friends.ASPRO_COMPANY (subdomain) or full ASPRO_BASE_URL.git clone https://github.com/bssth/aspro-mcp.git
cd aspro-mcp
npm install
npm run build
Requires Node.js ≥ 18.
Copy the example env file and fill it in:
cp .env.example .env
ASPRO_COMPANY=your_company # the {company} part of https://{company}.aspro.cloud
ASPRO_API_KEY=your_api_key_here # passed as ?api_key=... on every request
# ASPRO_BASE_URL=... # optional; overrides the URL built from ASPRO_COMPANY
# ASPRO_TIMEOUT_MS=30000 # optional; default 30s
Get an API key in your Aspro.Cloud account under Settings → Integrations → API.
Add the server to your MCP config:
{
"mcpServers": {
"aspro": {
"command": "node",
"args": ["/absolute/path/to/aspro-mcp/dist/index.js"]
}
}
}
The server reads its .env from the project root regardless of the working directory the client launches it in.
Any client that speaks MCP over stdio can run node dist/index.js (or npm start).
| Tool | What it does |
|---|---|
aspro_list_modules |
List top-level modules (crm, fin, task, …) with entity / operation counts. |
aspro_list_entities |
List entities inside a module and the methods available on each. |
aspro_list_methods |
List operations (HTTP method + path + short description) for a module, optionally filtered by entity. |
aspro_search |
Substring search across module / entity / method / path / description / tags. |
aspro_describe |
Full schema for one operation: query / path params, body fields with types and descriptions. |
aspro_call |
Execute the call. Returns { status, ok, url, data }. |
The recommended flow is search/list_* → describe → call.
npm run dev # tsc --watch
npm run build # tsc
npm run smoke # offline: exercises the spec indexer and URL builder
The smoke test does not hit the network — it checks that the bundled OpenAPI spec parses, that operations can be described, and that the URL builder produces well-formed URLs.
src/
index.ts MCP server (tool registration + entry point)
config.ts .env loading and validation
client.ts HTTP client (URL building, form-urlencoded POSTs, timeouts)
spec.ts OpenAPI indexer (modules / entities / methods / search / describe)
smoke.ts offline smoke test
spec/
openapi.json bundled Aspro.Cloud OpenAPI spec
?api_key=.... Never commit .env./delete/{id}). Use a dedicated API key with the minimum necessary permissions.Issues and PRs welcome. Please run npm run build && npm run smoke before submitting.
MIT — see LICENSE.
aspro-mcp is an unofficial third-party connector and is not affiliated with Aspro.Cloud.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"aspro-mcp": {
"command": "npx",
"args": []
}
}
}