Local-first MCP server for Quo API workflows
armavita-quo-mcp
Brought to you by ArmaVita.com Need a custom implementation? Contact us.
armavita-quo-mcp is a local-first MCP server for Quo API workflows (messaging, calls, contacts, users, phone numbers, and webhooks).
- MCP transport: local
stdio - Runtime: Node.js 18+
- Auth:
QUO_API_KEY - License: AGPL-3.0-only
Install
npm install
Run
bash ./run.sh
run.sh verifies Node/npm, installs dependencies if needed, then starts the MCP server.
Required Environment Variable
QUO_API_KEY: Quo API key used for all API calls.
Optional:
QUO_HTTP_TIMEOUT_MS: request timeout in milliseconds (default:30000).
Quick MCP Client Config
Use this pattern in your MCP client config:
{
"mcpServers": {
"armavita-quo-mcp": {
"command": "bash",
"args": ["/absolute/path/to/armavita-quo-mcp/run.sh"],
"env": {
"QUO_API_KEY": "YOUR_QUO_API_KEY"
}
}
}
}
If your client launches from this folder, you can use:
{
"mcpServers": {
"armavita-quo-mcp": {
"command": "bash",
"args": ["./run.sh"],
"env": {
"QUO_API_KEY": "YOUR_QUO_API_KEY"
}
}
}
}
Tool Coverage
- Messages:
send_text,list_messages,get_message - Conversations:
list_conversations - Contacts:
create_contact,list_contacts,get_contact,update_contact,delete_contact,get_contact_custom_fields - Calls:
list_calls,get_call,get_call_recordings,get_call_summary,get_call_transcription,get_voicemail - Phone numbers:
list_phone_numbers,get_phone_number - Users:
list_users,get_user - Webhooks:
list_webhooks
Pagination
- List endpoints expose Quo pagination parameters such as
maxResultsandpageToken. - Preserve and pass forward returned page tokens to continue pagination.
Usage Notes
- Use E.164 format for phone numbers where required (for example
+18325551234). update_contactrequires at least one field to update.- API failures are returned from Quo status and response details, with secrets redacted in server error paths.
Security
- Never commit real
QUO_API_KEYvalues. - Keep credentials in client/server env config, not in source files.
- Use separate keys for dev/staging/prod.
Docs
Scope
- This repository is an OSS local MCP server.
- Transport mode is local
stdioonly. - Tool aliases are intentionally not exposed.
Development
Syntax check:
npm run check
Start directly:
npm start
License
GNU Affero General Public License v3.0 (AGPLv3). See LICENSE.
Tools (21)
send_textSends a text message via Quo.list_messagesLists messages from the Quo account.get_messageRetrieves details of a specific message.list_conversationsLists all conversations.create_contactCreates a new contact.list_contactsLists all contacts.get_contactRetrieves details of a specific contact.update_contactUpdates an existing contact.delete_contactDeletes a contact.get_contact_custom_fieldsRetrieves custom fields for a contact.list_callsLists call history.get_callRetrieves details of a specific call.get_call_recordingsRetrieves recordings for a specific call.get_call_summaryRetrieves the summary of a call.get_call_transcriptionRetrieves the transcription of a call.get_voicemailRetrieves voicemail details.list_phone_numbersLists available phone numbers.get_phone_numberRetrieves details of a specific phone number.list_usersLists users in the account.get_userRetrieves details of a specific user.list_webhooksLists configured webhooks.Environment Variables
QUO_API_KEYrequiredQuo API key used for all API calls.QUO_HTTP_TIMEOUT_MSRequest timeout in milliseconds.Configuration
{"mcpServers": {"armavita-quo-mcp": {"command": "bash", "args": ["./run.sh"], "env": {"QUO_API_KEY": "YOUR_QUO_API_KEY"}}}}