aspro-mcp
Enables LLMs to interact with the Aspro.Cloud REST API through self-describing tools for discovering and calling modules, entities, and methods.
README
aspro-mcp
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.
Features
- Self-describing. The model browses the API via
aspro_list_modules→aspro_list_entities→aspro_list_methods→aspro_describe, and only thenaspro_calls — no need to memorize endpoints. - Substring search across module / entity / method / path / description / tags.
- Form-urlencoded POSTs by default (Aspro's expected content type), with array and nested-object handling.
- Path parameter substitution for
/get/{id},/update/{id},/delete/{id}and friends. - Per-tenant config via
ASPRO_COMPANY(subdomain) or fullASPRO_BASE_URL.
Install
git clone https://github.com/bssth/aspro-mcp.git
cd aspro-mcp
npm install
npm run build
Requires Node.js ≥ 18.
Configure
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.
Wire it up to a client
Claude Desktop / Claude Code
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.
Other MCP clients
Any client that speaks MCP over stdio can run node dist/index.js (or npm start).
Tools exposed
| 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.
Develop
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.
Project layout
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
Security notes
- The API key is read from the environment and appended to every request as
?api_key=.... Never commit.env. - The server has no allowlist — once configured, it can call any endpoint the spec describes (including destructive ones like
/delete/{id}). Use a dedicated API key with the minimum necessary permissions. - Treat tool output as untrusted: Aspro entities (custom field values, descriptions, etc.) may contain user-supplied content.
Contributing
Issues and PRs welcome. Please run npm run build && npm run smoke before submitting.
License
MIT — see LICENSE.
aspro-mcp is an unofficial third-party connector and is not affiliated with Aspro.Cloud.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.