Skip to content

Commit 01977c2

Browse files
author
Dev Agent Amelia
committed
docs: fix counts, add 4 missing tool docs, fix roadmap table rendering
- CAPABILITIES.md: 63→67 tools in ToC/heading; CRUD 5→6, Env 2→3, RBAC 3→4, Assistance 4→5 (ToC, headings, Mermaid) - Add docs for dataverse_assign, dataverse_create_environment_variable, dataverse_assign_role_to_team, dataverse_list_tool_tags - docs/capabilities.md: RBAC 3→4 (+assign_role_to_team), Assistance 4→5 (+list_tool_tags), arch tree counts updated - docs/roadmap.md: remove stray \}\ from Audit Fixes table (phantom column) - server.json: version bump to 0.4.5
1 parent 69cceec commit 01977c2

4 files changed

Lines changed: 78 additions & 19 deletions

File tree

CAPABILITIES.md

Lines changed: 71 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,19 @@
1010

1111
- [Quick Start](#quick-start)
1212
- [Architecture Overview](#architecture-overview)
13-
- [Tool Reference (63 tools)](#tool-reference-63-tools)
13+
- [Tool Reference (67 tools)](#tool-reference-67-tools)
1414
- [1. Auth (1)](#1-auth-1-tool)
1515
- [2. Metadata (8)](#2-metadata-8-tools)
1616
- [3. Query (3)](#3-query-3-tools)
17-
- [4. CRUD (5)](#4-crud-5-tools)
17+
- [4. CRUD (6)](#4-crud-6-tools)
1818
- [5. Relations (2)](#5-relations-2-tools)
1919
- [6. Actions & Functions (6)](#6-actions--functions-6-tools)
2020
- [7. Batch (1)](#7-batch-1-tool)
2121
- [8. Change Tracking (1)](#8-change-tracking-1-tool)
2222
- [9. Solutions (3)](#9-solutions-3-tools)
2323
- [10. Impersonation (1)](#10-impersonation-1-tool)
2424
- [11. Customization (3)](#11-customization-3-tools)
25-
- [12. Environment (2)](#12-environment-2-tools)
25+
- [12. Environment (3)](#12-environment-3-tools)
2626
- [13. Trace (2)](#13-trace-2-tools)
2727
- [14. Search (1)](#14-search-1-tool)
2828
- [15. Audit (1)](#15-audit-1-tool)
@@ -31,10 +31,10 @@
3131
- [18. Users (2)](#18-users-2-tools)
3232
- [19. Views (1)](#19-views-1-tool)
3333
- [20. Files (2)](#20-files-2-tools)
34-
- [21. Org (1)](#21-org-1-tool)
35-
- [22. RBAC (3)](#22-rbac-3-tools)
34+
- [21. Org (2)](#21-org-2-tools)
35+
- [22. RBAC (4)](#22-rbac-4-tools)
3636
- [23. Workflows (2)](#23-workflows-2-tools)
37-
- [24. Assistance (4)](#24-assistance-4-tools)
37+
- [24. Assistance (5)](#24-assistance-5-tools)
3838
- [25. Attributes (4)](#25-attributes-4-tools)
3939
- [Error Handling & Retry Behavior](#error-handling--retry-behavior)
4040
- [Security](#security)
@@ -115,12 +115,12 @@ graph LR
115115
MCP --> QUAL["✅ Quality (1)"]
116116
MCP --> NOTE["📝 Annotations (2)"]
117117
MCP --> USR["👥 Users (2)"]
118-
MCP --> RBAC["🛡️ RBAC (3)"]
118+
MCP --> RBAC["🛡️ RBAC (4)"]
119119
MCP --> VIEWS["👁️ Views (1)"]
120120
MCP --> FILES["📁 Files (2)"]
121121
MCP --> ORG["🏢 Org (2)"]
122122
MCP --> WF["⚙️ Workflows (2)"]
123-
MCP --> ASSIST["🤖 Assistance (4)"]
123+
MCP --> ASSIST["🤖 Assistance (5)"]
124124
MCP --> ATTR["🏗️ Attributes (4)"]
125125
```
126126

@@ -279,7 +279,7 @@ Retrieves ALL matching records by auto-following `@odata.nextLink` pages. Use wh
279279

280280
---
281281

282-
### 4. CRUD (5 tools)
282+
### 4. CRUD (6 tools)
283283

284284
#### `dataverse_get`
285285

@@ -360,6 +360,21 @@ Create-or-update via an alternate key (no GUID needed). Returns `"created"` or `
360360

361361
---
362362

363+
#### `dataverse_assign`
364+
365+
Assigns a Dataverse record to a different user or team owner. Sets the `ownerid` lookup field using OData bind syntax.
366+
367+
| Parameter | Type | Req | Notes |
368+
| --------------- | ---------------------- | --- | ----------------------- |
369+
| `entitySetName` | `string` || OData entity set name |
370+
| `id` | `string (UUID)` || Record GUID to reassign |
371+
| `ownerType` | `"systemuser"\|"team"` || Target owner type |
372+
| `ownerId` | `string (UUID)` || GUID of user or team |
373+
374+
> "Reassign account a1b2c3d4 to user u1v2w3x4"
375+
376+
---
377+
363378
### 5. Relations (2 tools)
364379

365380
#### `dataverse_associate`
@@ -657,7 +672,7 @@ Activates or deactivates a classic Dataverse workflow (statecode/statuscode upda
657672

658673
---
659674

660-
### 12. Environment (2 tools)
675+
### 12. Environment (3 tools)
661676

662677
#### `dataverse_get_environment_variable`
663678

@@ -694,6 +709,24 @@ Sets or updates an environment variable's current value (creates or updates the
694709
695710
---
696711

712+
#### `dataverse_create_environment_variable`
713+
714+
Creates a new Dataverse environment variable definition and sets its initial value. Use when the variable does not yet exist.
715+
716+
| Parameter | Type | Req | Notes |
717+
| -------------- | ---------------------------------------- | --- | ------------------------------------------------------- |
718+
| `schemaName` | `string` || Schema name (publisher prefix required, e.g. `new_MyVar`) |
719+
| `displayName` | `string` || Human-readable label |
720+
| `type` | `"String"\|"Integer"\|"Boolean"\|"JSON"` || Variable data type |
721+
| `value` | `string` || Initial value |
722+
| `description` | `string` || Optional description |
723+
| `defaultValue` | `string` || Optional default value |
724+
| `confirm` | `true` || Explicit confirmation required |
725+
726+
> "Create environment variable new_MaxRetries of type Integer with value 3"
727+
728+
---
729+
697730
### 13. Trace (2 tools)
698731

699732
#### `dataverse_get_plugin_trace_logs`
@@ -977,7 +1010,7 @@ Lists Dataverse teams (owner teams and access teams) within one or all business
9771010
9781011
---
9791012

980-
### 22. RBAC (3 tools)
1013+
### 22. RBAC (4 tools)
9811014

9821015
#### `dataverse_list_roles`
9831016

@@ -1025,6 +1058,20 @@ Removes a security role from a system user.
10251058
10261059
---
10271060

1061+
#### `dataverse_assign_role_to_team`
1062+
1063+
Assigns a security role to a Dataverse team. All team members inherit the role permissions.
1064+
1065+
| Parameter | Type | Req | Notes |
1066+
| --------- | --------------- | --- | ------------------------------ |
1067+
| `teamId` | `string (UUID)` || Team GUID |
1068+
| `roleId` | `string (UUID)` || Security role GUID |
1069+
| `confirm` | `true` || Explicit confirmation required |
1070+
1071+
> "Assign role r1s2t3u4 to team t1e2a3m4"
1072+
1073+
---
1074+
10281075
### 23. Workflows (2 tools)
10291076

10301077
#### `dataverse_list_workflows`
@@ -1053,7 +1100,7 @@ Retrieves a single workflow definition by ID, including its trigger, steps, and
10531100
10541101
---
10551102

1056-
### 24. Assistance (4 tools)
1103+
### 24. Assistance (5 tools)
10571104

10581105
#### `dataverse_suggest_tools`
10591106

@@ -1105,6 +1152,18 @@ Lists connection references used in solutions (Power Automate connectors).
11051152
11061153
---
11071154

1155+
#### `dataverse_list_tool_tags`
1156+
1157+
Lists all available tool tags with the number of tools in each category. Use this to discover what kinds of operations are available before calling `dataverse_suggest_tools`.
1158+
1159+
| Parameter | Type | Req | Notes |
1160+
| --------- | ---- | --- | ------------- |
1161+
|||| No parameters |
1162+
1163+
> "What categories of tools are available in this MCP server?"
1164+
1165+
---
1166+
11081167
### 25. Attributes (4 tools)
11091168

11101169
Attribute tools manage **column-level schema** in Dataverse tables. All write operations require `confirm: true` and auto-publish the entity definition by default.

docs/capabilities.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ For detailed input/output examples, see the [Use Cases]({{ site.baseurl }}/use-c
3737
| 16 | **Quality** | 1 | `detect_duplicates` |
3838
| 17 | **Annotations** | 2 | `get_annotations`, `create_annotation` |
3939
| 18 | **Users** | 2 | `list_users`, `get_user_roles` |
40-
| 19 | **RBAC** | 3 | `list_roles`, `assign_role_to_user`, `remove_role_from_user` |
40+
| 19 | **RBAC** | 4 | `list_roles`, `assign_role_to_user`, `remove_role_from_user`, `assign_role_to_team` |
4141
| 20 | **Views** | 1 | `list_views` |
4242
| 21 | **Files** | 2 | `upload_file_column`, `download_file_column` |
4343
| 22 | **Org** | 2 | `list_business_units`, `list_teams` |
4444
| 23 | **Workflows** | 2 | `list_workflows`, `get_workflow` |
45-
| 24 | **Assistance** | 4 | `suggest_tools`, `list_guides`, `get_guide`, `list_connection_references` |
45+
| 24 | **Assistance** | 5 | `suggest_tools`, `list_guides`, `get_guide`, `list_connection_references`, `list_tool_tags` |
4646
| 25 | **Attributes** | 4 | `create_attribute`, `update_attribute`, `delete_attribute`, `create_lookup_attribute` |
4747
| | **Total** | **67** | |
4848

@@ -72,12 +72,12 @@ MCP Dataverse Server (67 tools · 25 categories)
7272
├── ✅ Quality (1)
7373
├── 📝 Annotations (2)
7474
├── 👥 Users (2)
75-
├── 🛡️ RBAC (3)
75+
├── 🛡️ RBAC (4)
7676
├── 👁️ Views (1)
7777
├── 📁 Files (2)
7878
├── 🏢 Org (2)
7979
├── ⚙️ Workflows (2)
80-
├── 🤖 Assistance (4)
80+
├── 🤖 Assistance (5)
8181
└── 🏗️ Attributes (4)
8282
```
8383

docs/roadmap.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ The foundation already exists — `StreamableHTTPServerTransport` is implemented
5959
| Fix batch request body to use CRLF (`\r\n`) per RFC 2046 | ✅ Done |
6060
| `detect_duplicates` — align description with actual implementation (FetchXML field-OR match) | ✅ Done |
6161
| `search` — construct URL from `environmentUrl` instead of relative `../../` hack | ✅ Done |
62-
| `executeFunction` — support aliased typed parameters (not just string) | ✅ Done |}
62+
| `executeFunction` — support aliased typed parameters (not just string) | ✅ Done |
6363

6464
**Why it matters:** HTTP transport unlocks remote servers, shared team instances, and integration with orchestrators that can't spawn stdio processes. Schema consistency reduces AI agent confusion and improves first-call success rates. Attribute management brings column-level CRUD natively. Audit fixes harden Web API compliance.
6565

server.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616
"source": "github",
1717
"id": "1163599879"
1818
},
19-
"version": "0.4.0",
19+
"version": "0.4.5",
2020
"packages": [
2121
{
2222
"registryType": "npm",
2323
"registryBaseUrl": "https://registry.npmjs.org",
2424
"identifier": "mcp-dataverse",
25-
"version": "0.4.0",
25+
"version": "0.4.5",
2626
"transport": {
2727
"type": "stdio"
2828
},

0 commit comments

Comments
 (0)