wealthbox-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WEALTHBOX_TOKEN | Yes | Your Wealthbox API access token; sent as ACCESS_TOKEN header per docs | |
| WEALTHBOX_API_BASE_URL | No | Base URL for the Wealthbox API | https://api.crmworkspace.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| wealthbox.healthA | Health check that hits /v1/me to verify token and connectivity |
| wealthbox.contacts.listB | List contacts. Query params: name, email, phone, contact_type, id, active, tags[], type (person|household|organization|trust), page, per_page. Example: {"query":{"name":"John","per_page":10}} |
| wealthbox.contacts.getB | Get contact by id |
| wealthbox.contacts.createC | Create contact. Example: {"first_name":"Ada","last_name":"Lovelace"}. You can also provide a raw body. |
| wealthbox.contacts.updateA | Update contact. Provide id and changed fields. You can also pass raw body. |
| wealthbox.contacts.deleteC | Delete contact |
| wealthbox.tasks.listB | List tasks. Query params: title, assigned_to_user_id, assigned_to_team_id, category_id, completed (boolean), due_date (YYYY-MM-DD), updated_since, updated_before, page, per_page. |
| wealthbox.tasks.getB | Get task by id |
| wealthbox.tasks.createB | Create task. Example: {"title":"Call client","due_date":"2025-10-04"}. You can also provide a raw body. |
| wealthbox.tasks.updateB | Update task by id. You can also pass raw body. |
| wealthbox.tasks.deleteC | Delete task |
| wealthbox.events.listC | List events. Query params: title, category_id, starts_after, starts_before, ends_after, ends_before, updated_since, updated_before, page, per_page. |
| wealthbox.events.getB | Get event by id |
| wealthbox.events.createB | Create event. Example: {"title":"Review","starts_at":"2025-10-04 10:00","ends_at":"2025-10-04 11:00"} |
| wealthbox.events.updateB | Update event by id. You can also pass raw body. |
| wealthbox.events.deleteD | Delete event |
| wealthbox.notes.listC | List notes. Query params: updated_since, updated_before, page, per_page. |
| wealthbox.notes.getB | Get note by id |
| wealthbox.notes.createA | Create note. Example: {"content": "Note text", "linked_to": [{"id": 12345, "type": "Contact"}]} |
| wealthbox.notes.updateB | Update note content by id. You can pass {content} directly, or a raw body. |
| wealthbox.opportunities.listB | List opportunities. Query params: name, pipeline_id, stage_id, amount_min, amount_max, close_after, close_before, updated_since, updated_before, page, per_page. |
| wealthbox.opportunities.getB | Get opportunity by id |
| wealthbox.opportunities.createC | Create opportunity. Example: {"name":"New deal","pipeline_id":1,"stage_id":2,"amount":10000} |
| wealthbox.opportunities.updateC | Update opportunity by id. You can also pass raw body. |
| wealthbox.opportunities.deleteC | Delete opportunity |
| wealthbox.projects.listB | List projects. Query params: name, status, due_after, due_before, updated_since, updated_before, page, per_page. |
| wealthbox.projects.getC | Get project by id |
| wealthbox.projects.createC | Create project. Example: {"name":"Onboarding","description":"..."} |
| wealthbox.projects.updateC | Update project by id. You can also pass raw body. |
| wealthbox.projects.deleteC | Delete project |
| wealthbox.comments.listC | List comments (optionally by resource). Query params: resource_id, resource_type, updated_since, updated_before, page, per_page. |
| wealthbox.userGroups.listB | List user groups |
| wealthbox.categories.listC | List members of a customizable category |
| wealthbox.tags.listB | List tags (optionally by document_type) |
| wealthbox.customFields.listA | List custom fields |
| wealthbox.contactRoles.listB | List contact roles |
| wealthbox.workflows.listB | List workflows. Query params: status, template_id, updated_since, updated_before, page, per_page. |
| wealthbox.workflows.getB | Get workflow by id |
| wealthbox.workflows.createD | Create workflow |
| wealthbox.workflows.deleteC | Delete workflow |
| wealthbox.workflowTemplates.listB | List workflow templates. Query params: page, per_page. |
| wealthbox.workflowTemplates.getB | Get workflow template by id |
| wealthbox.workflowSteps.completeC | Complete a workflow step |
| wealthbox.workflowSteps.revertC | Revert a workflow step |
| wealthbox.activityStream.listC | Retrieve activity stream. Query params: updated_since, updated_before, page, per_page. |
| wealthbox.households.addMemberA | Add member to a household. Provide household_id and either id+title or raw body. |
| wealthbox.households.deleteMemberB | Delete member from a household |
| wealthbox.getMeA | Retrieve login profile information for the authenticated user |
| wealthbox.listUsersA | List all users accessible to the authenticated account |
| wealthbox.listTeamsA | List all teams in the authenticated account |
| wealthbox.requestC | Generic Wealthbox API request tool supporting method, path, body, and query |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 51 tools
Each tool targets a distinct resource-action pair, with standard CRUD verbs and clear resource prefixes. The only potential overlap is between health and getMe, but their descriptions clearly differentiate a connectivity check from profile retrieval. The generic request tool does not create ambiguity as it serves as a catch-all.
The vast majority of tools follow the wealthbox.<resource>.<action> pattern with consistent snake_case CRUD verbs. Minor deviations include wealthbox.getMe, listUsers, listTeams, and request, plus camelCase actions like addMember/deleteMember, which break the pattern slightly but remain predictable.
With 51 tools, this server is clearly on the heavy side, but the count is justified by the broad CRM domain covering over 10 entities with full CRUD operations. It may be overwhelming for agents, yet each tool serves a distinct purpose and no redundant tools exist.
Core entities (contacts, tasks, events, opportunities, projects) have complete CRUD coverage. Minor gaps exist, such as missing delete for notes, missing update for workflows, and limited operations for comments and templates, but these can be worked around with the generic request tool and do not severely hinder common workflows.