Composite MCP Sales Intelligence
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Composite MCP Sales IntelligencePull customer profile and suggest upsells for ABC Inc."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Composite MCP Sales Intelligence
Inside sales intelligence for an MSP — bridges ConnectWise (PSA) and TD Synnex StreamOne (distributor) into composite sales workflows via MCP.
Components
1. Sales Agent (sales_agent/)
MCP server with 6 composite tools for sales workflows:
Tool | Description |
| Aggregates CW company + agreements + configs + tickets + TD Synnex subs |
| Analyzes stack gaps, suggests products from TD Synnex catalog |
| TD Synnex cost vs CW sell price — margin per product |
| Creates TD Synnex cart as draft quote |
| Upcoming CW agreement + TD Synnex subscription expirations |
| Enriches CW opportunity with customer context + catalog matches |
2. TD Synnex StreamOne Adapter (tdsynnex/)
Full StreamOne Ion V3 API client + 15-tool MCP server for direct distributor operations.
API Coverage: Auth (OAuth2 with token rotation), Customers, Catalog, Orders, Subscriptions, Carts, Provisioning.
Setup
# Python 3.10+ required
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# Configure credentials
cp .env.example .env
# Fill in CW + TD Synnex credentialsRunning
Sales Agent MCP Server
python -m sales_agent.mcp.serverTD Synnex MCP Server
python -m tdsynnex.mcp.serverClaude Code Integration
Add to your .mcp.json:
{
"mcpServers": {
"composite-mcp": {
"command": "python",
"args": ["-m", "sales_agent.mcp.server"],
"cwd": "/path/to/composite-mcp",
"env": {
"CW_SITE_URL": "https://your-instance.connectwise.com/v4_6_release/apis/3.0",
"CW_COMPANY_ID": "your_company_id",
"CW_PUBLIC_KEY": "...",
"CW_PRIVATE_KEY": "...",
"CW_CLIENT_ID": "...",
"TDSYNNEX_HOSTNAME": "...",
"TDSYNNEX_ACCOUNT_ID": "...",
"TDSYNNEX_REFRESH_TOKEN": "..."
}
},
"tdsynnex": {
"command": "python",
"args": ["-m", "tdsynnex.mcp.server"],
"cwd": "/path/to/composite-mcp",
"env": {
"TDSYNNEX_HOSTNAME": "...",
"TDSYNNEX_ACCOUNT_ID": "...",
"TDSYNNEX_REFRESH_TOKEN": "..."
}
}
}
}Stack
Python 3.10+
httpx (async HTTP)
pydantic / pydantic-settings (config)
MCP Python SDK (tool serving)
Ollama (future — AI-powered product matching)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jaceryan5150/composite-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server