Grooper MCP: Difference between revisions
Dgreenwood (talk | contribs) No edit summary |
Dgreenwood (talk | contribs) |
||
| Line 31: | Line 31: | ||
|} | |} | ||
== MCP Server == | === MCP Server === | ||
An '''MCP Server''' is added inside a Project and hosts three collections: | An '''MCP Server''' is added inside a Project and hosts three collections: | ||
Revision as of 08:55, 24 September 2026
|
2026 BETA |
This article covers new or changed functionality in the current or upcoming beta version of Grooper. Features are subject to change before version 2026's GA release. Configuration and functionality may differ from later beta builds and the final 2026 release. |
Model Context Protocol (MCP) support in Grooper allows the repository to act as both a provider and a consumer of MCP tools, resources, and prompts. These tools, resources and prompts are exposed in two ways.
- This lets external AI agents (such as coding assistants or custom automation) call directly into a Grooper Repository to access these tools, resources and prompts.
- This lets Grooper's own AI features (AI Assistants and Agent Actions) consume these same tools, resources and prompts and call out to external MCP servers and registries.
Overview
Model Context Protocol is an open standard for connecting AI applications to external tools, data sources, and prompts over a common interface. Grooper's implementation covers both directions:
- Serving tools: A Grooper Repository can expose a curated set of its own capabilities (repository management, Batch/document operations, scripting, external content repositories, search, statistics, and more) as an MCP server that any MCP-compatible client can connect to.
- Consuming tools: The Agent Planner used by AI Assistants and Agent Actions can connect out to external MCP servers and registries, bringing third-party tools into an agent's available toolset alongside Grooper's built-in tools.
Key objects involved
| Display name | Object Type | Where you'll find it | Purpose |
|---|---|---|---|
| MCP Server | Node | Added inside a Project | Hosts a named collection of tools, resources, and prompts, and serves them to MCP clients. |
| MCP Registry | Node | Added inside a Project | Publishes local MCP Servers and/or aggregates outbound connections to other servers and registries. |
| AI Assistant | Node | Added inside a Project | A configurable chatbot whose Agent Planner can call MCP tools (via its own connections or a registry) alongside Grooper's built-in retrieval tools when answering a user. |
| Resource File | Node | Added inside a Project | A file-based resource (document, text, etc.) that can be added to an MCP Server's Resources list to expose it to MCP clients, or referenced by an Agent Planner as a knowledge resource. |
| Agent Action | Action | Submitted by an Action Scheduler or as a one-off Action Task by a user from the Actions page | Has an AI Assistant carry out a task following its own Instructions or a named MCP prompt. This allows the AI Assistant to run MCP tools without a live chat session. |
| Action Scheduler | Service Instance | Installed using GCC. Configured under Machines | The background service that runs "Scheduled Actions" (including Agent Actions) on a schedule or polling loop, and processes ad-hoc Action Tasks as they're submitted. This is what actually executes an unattended agent. |
MCP Server
An MCP Server is added inside a Project and hosts three collections:
- Tools – the callable operations exposed by the server. Grooper ships a large built-in catalog of tools (see Built-in tool catalog below); a given server exposes whichever tools it's configured with.
- Resources – a list of Resource Files made available to clients.
- Prompts – a list of Prompt Template or Prompt Expression entries, each with a name, title, description, and parameters.
Other notable properties:
| Property | Description |
|---|---|
| Namespace | Combines with the server's own name to form its unique identifier, in the form namespace/name.
|
| Instructions | Free-text guidance returned when a client connects, used to steer client/model behavior when using this server. |
| Grooper Tool Categories | Tool categories made available locally to the agent planner. |
| Structured Data Mode | Controls how tool results are returned: Enabled (structured data only), Disabled (plain text content only), or Hybrid (both). |
| Tool List / Resource List / Prompt List | Read-only previews of exactly what the server will report to a connecting client – useful for verifying configuration. |
MCP Registry
An MCP Registry has two complementary jobs:
- Publishing – it exposes one or more local MCP Servers to the outside world under a single registry endpoint.
- Aggregating – through its list of MCP Connections and MCP Registry Connections, it pulls in tools from other MCP servers and registries – local or remote – and merges them into one logical toolset.
This makes the registry the natural place to centralize and reuse connection configuration across multiple AI Assistants or agents, rather than configuring the same outbound connections repeatedly.
Both MCP Connection and MCP Registry Connection entries support:
- A Url and an Authentication method (Basic or OAuth Client Credentials) for reaching the remote server or registry.
- A Tool Filter (and, for registries, a Server Filter) – text patterns that narrow which tools (or servers) are actually pulled in, so an agent isn't handed a wider toolset than it needs.
How agents consume MCP tools
The Agent Planner – the component that builds an execution plan for an AI Assistant or Agent Action – is what consumes MCP Connection and MCP Registry Connection entries. Tools brought in this way sit alongside Grooper's own built-in retrieval tools (the Additional Tools property on an AI Assistant offers Ask User, Help Search, Load Schema, Load Web Page, and Wiki Search), so an assistant can reason over both Grooper-native capabilities and whatever external tools its connections expose.
The reverse direction is just as useful in practice: pointing a general-purpose AI coding assistant at a Grooper repository's MCP Server gives that assistant direct, structured access to repository objects, batches, and jobs – rather than relying on screen-scraping the UI or hand-written scripts.
Built-in tool catalog
Grooper ships a large catalog of built-in tools covering most of the repository's design and automation surface. They're grouped here by area, using the name each tool actually presents to a connecting client:
| Area | Representative tools |
|---|---|
| Repository objects | Get Node, List Nodes, Add Child Nodes, Update Node, Copy Or Move Node, Reorder Node, Delete Node, Clear Child Nodes, Execute Node Command, Get Node References, Load Descendant Nodes, Validate Node Properties |
| Files attached to objects | Get Node File, Save Node File, Delete Node File |
| Scripting | Create Script, Compile Script, Delete Script, Disable Script, List Scripts, List Script Files, List Scriptable Types, List Members, Get Implementation Details |
| Batches & documents | Create Batch, List Batches, Get Batch Info, Get Batch Stats, Create Document, Create Page, Get Document Content, Get Document Data, Update Document Data, List Documents, Get Content Type Schema |
| Jobs & review tasks | List Jobs, Get Job, Cancel Jobs, Delete Jobs, List Tasks, Delete Task, Get Next Review Task, Get Review Task, List Review Tasks, Close Review Task |
| Scheduled tasks | Add Scheduled Task, Get Scheduled Task, List Scheduled Tasks, Cancel Scheduled Task, Delete Scheduled Task |
| Databases | List Database Tables, Get Database Table Schema, Run Database Query, Query Database Table |
| External content repositories (CMIS) | Get Cmis Repository Info, Get Cmis Object, Get Cmis Type, Get Cmis Type Tree, List Cmis Child Objects, List Cmis Child Types, Run Cmis Query, Create Cmis Object, Update Cmis Object Properties, Set Cmis Content Stream, Get Cmis Content Stream |
| Search & AI | List Indexes, Get Index, Execute Lucene Query, Execute Vector Query, Vector Search, List AI Models, Get Service Usage, Ask VLM |
| Statistics | Explore Stats, List Stats Sessions, Run Stats Query |
| Testing & diagnostics | Test Batch Process Step, Test Data Element Extraction, Test Extractor, Get Overrides, Set Overrides, Inspect Expression |
| Services & licensing | List Services, Start Service, Stop Service, Update Service, Get License Package, Check In License |
| Event log | List Log Events, Get Log Event, Delete Log Events |
| Help & discovery | Get Type Info, Get Type Help, Search Help, List Type Derivatives, List Tools, Search Tools, List Tool Connections, Activate Tool Connection |
| Guided workflows | Read Create Project Skill, Read Create Content Model Skill, Read Create Data Model Skill, Read Create Batch Process Skill, Read Data Model Styling Skill, Read Review Document Skill |
| Communication & web | Send Email, Search Entra Recipients, HTTP Call, HTTP Load, Ask |
| Label sets | Load Label Set, Save Label Set |
| Command console | Run GCC |
A given MCP Server only exposes the subset of these it's configured with – its Tool List property shows exactly what will be reported to a connecting client.
Security considerations
- Use a Tool Filter or Server Filter on outbound connections to avoid handing an agent a broader toolset than its task requires.
- Prefer OAuth Client Credentials over Basic authentication for outbound connections where the remote server supports it.
- Many built-in tools are capable of destructive operations (deleting objects, jobs, log events, and so on) – scope what's exposed on a given MCP Server deliberately rather than exposing the full catalog by default.
Connecting a Grooper MCP Server to an AI client
Connecting Grooper MCP Servers to AI clients such as Claude Code or GitHub Copilot varies slightly from client to client. However, the broad strokes involve editing some kind of config file (either directly or indirectly) and entering a URL for the MCP Server.
The MCP Server's URL always takes the following form:
http(s)://<GROOPER-HOST>/gws/mcp/<GROOPER-REPOSITORY-ID>/servers/<MCP-SERVER-NAME>
<GROOPER-HOST>: Replace this with the server host where the Grooper and GWS apps are installed.<GROOPER-REPOSITORY-ID>: Replace this with the Grooper Repository's ID (You can grab this by going to the Design page, selecting the Root node and copying the GUID value from the "Repository ID" property).<MCP-SERVER-NAME>: Replace this with whatever you named your MCP Server in Grooper.
The sections below walk through connecting a Grooper MCP Server to specific AI clients.
Claude Code/Claude Desktop
This guide will list the basic steps for hooking up a Grooper MCP Server to Claude Code. This will let you use Grooper tools from a Grooper MCP Server from:
- A terminal window, by typing
claudedirectly (the "Claude Code CLI"). - The Code tab in Claude Desktop.
To get started:
- Open Windows PowerShell.
- Run the following command to install Claude Code. This may take a moment. Wait for the "Installation complete!" message at the end.
irm https://claude.ai/install.ps1 | iex
- Close the PowerShell window and open a brand new one.
- Run the following command to double-check Claude Code was installed. It should print a version number
claude --version
- Run this command to add the Grooper MCP Server connection.
claude mcp add --transport http --scope user <NAME-IN-CLAUDE> "https://<GROOPER-HOST>/gws/mcp/<GROOPER-REPOSITORY-ID>/servers/<MCP-SERVER-NAME>"
<NAME-IN-CLAUDE>: Replace this with whatever you want to name the MCP server, as seen in Claude, for examplegrooperorgrooper-prodorgrooper-dev.<GROOPER-HOST>: Replace this with the server host where the Grooper and GWS apps are installed.<GROOPER-REPOSITORY-ID>: Replace this with the Grooper Repository's ID (You can grab this by going to the Design page, selecting the Root node and copying the GUID value from the "Repository ID" property).<MCP-SERVER-NAME>: Replace this with whatever you named your MCP Server in Grooper.--scope user: This is recommended to make the server available everywhere for your account, not just locally to a single folder (--scope local).
- Run this command to verify you've registered the server and show its status.
claude mcp list
- If Claude Desktop is open, close and re-open it.
- Go to the Code tab, start a new session and enter "/mcp". You should see the MCP Server you just added in the list.
- Start prompting requests! The following are safe, read-only requests that will get you started.
List the Projects in my Grooper Repository and describe each Content Model.Show me the steps in the list specific process name here Batch Process and what each Activity is configured to do.List the most recent Production Batch and tell me what step it is on.Read the Create Batch Process skill from the Grooper server and summarize the recommended step order for scanned paper documents.
VS Code (GitHub Copilot)
VS Code with the GitHub Copilot extension supports MCP servers in Agent mode. VS Code is a popular platform by itself, making it a good option for users who already have it installed and are familiar with it.
These instructions assume you already have VS Code installed with the GitHub Copilot extension, and that you're signed in to GitHub with an active Copilot license.
- You can install the GitHub Copilot extension from the VS Code Marketplace
Note for Copilot Business/Enterprise orgs: The "MCP servers in Copilot" policy must be enabled by an admin before MCP servers will work. This is off by default. If the MCP commands below are missing entirely from the Command Palette (rather than just failing to connect), this is likely why.
MCP servers are added by editing a config file called mcp.json.
- Press
Ctrl+Shift+Pto open the Command Palette. - Type and select
MCP: Open User Configuration. This opens (or creates) your globalmcp.jsonfile. - If no
"servers"block exists in the JSON config, add the following entry (before the ending}in the JSON):
"servers": {
"<NAME-IN-COPILOT>": {
"type": "http",
"url": "http(s)://<GROOPER-HOST>/gws/mcp/<GROOPER-REPOSITORY-ID>/servers/<MCP-SERVER-NAME>"
}
}
<NAME-IN-COPILOT>: Replace this with whatever you want to name the MCP server, as seen in Copilot, for examplegrooperorgrooper-prodorgrooper-dev.<GROOPER-HOST>: Replace this with the server host where the Grooper and GWS apps are installed.<GROOPER-REPOSITORY-ID>: Replace this with the Grooper Repository's ID (You can grab this by going to the Design page, selecting the Root node and copying the GUID value from the "Repository ID" property).<MCP-SERVER-NAME>: Replace this with whatever you named your MCP Server in Grooper.
- If there are other servers already listed in the
"servers"block, do not delete any existing entries. Simply add yours as a new entry in the object. - Important: The root key must be
"servers", not"mcpServers". VS Code silently ignores the wrong key with no error message, so this is the single most common mistake when setting this up. - Save the file. Look for a "Start" link above your server's entry in the file (VS Code adds this automatically) and click it.
- Open Copilot Chat and switch the mode dropdown from Ask to Agent. MCP tools are not available in Ask or Edit mode.
- Click the tools icon in the chat box and confirm your server appears in the list.
- Start prompting requests! The following are safe, read-only requests that will get you started.
List the Projects in my Grooper Repository and describe each Content Model.Show me the steps in the list specific process name here Batch Process and what each Activity is configured to do.List the most recent Production Batch and tell me what step it is on.Read the Create Batch Process skill from the Grooper server and summarize the recommended step order for scanned paper documents.
OpenCode
OpenCode is an open source AI coding agent available as a terminal-based interface or a desktop app. It's an effective and cost effective way to get connected to a Grooper MCP Server. OpenCode uses the AI SDK and Models.dev to support 75+ LLM providers and supports running local models on-premises.
These instructions assume you already have OpenCode installed and connected to a model provider.
- You can download OpenCode at opencode.ai/download
- You can refer to information on how to set up and configure OpenCode at opencode.ai/docs
MCP servers are added by editing the OpenCode config file on your machine.
- Open Windows File explorer and go to
C:\Users\<YOUR-USER-NAME>\.config\opencode - Open opencode.json in a text editor.
- If no such
"mcp"block in the JSON config exists, add the following entry to the bottom (before the ending}in the JSON):
"mcp": {
"<NAME-IN-OPENCODE>": {
"type": "remote",
"url": "https://<GROOPER-HOST>/gws/mcp/<GROOPER-REPOSITORY-ID>/servers/<MCP-SERVER-NAME>",
"enabled": true
}
}
<NAME-IN-OPENCODE>: Replace this with whatever you want to name the MCP server, as seen in OpenCode, for examplegrooperorgrooper-prodorgrooper-dev.<GROOPER-HOST>: Replace this with the server host where the Grooper and GWS apps are installed.<GROOPER-REPOSITORY-ID>: Replace this with the Grooper Repository's ID (You can grab this by going to the Design page, selecting the Root node and copying the GUID value from the "Repository ID" property).<MCP-SERVER-NAME>: Replace this with whatever you named your MCP Server in Grooper.
- If there are other MCP servers listed in the
"mcp"block, do not delete any entries in the block. Simply add your server (<NAME-IN-OPENCODE>": {...}) in the object. - Fully quit and reopen OpenCode for the changes to take effect.
- In the desktop app, if you have "Server status" enabled in the Settings (General > Advanced), you can verify your MCP Server is connected by pressing the "Status" button in the top tool bar.
- Start prompting requests! The following are safe, read-only requests that will get you started.
List the Projects in my Grooper Repository and describe each Content Model.Show me the steps in the list specific process name here Batch Process and what each Activity is configured to do.List the most recent Production Batch and tell me what step it is on.Read the Create Batch Process skill from the Grooper server and summarize the recommended step order for scanned paper documents.