Watson Discovery MCP Server
Click on "Deploy 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., "@Watson Discovery MCP Serversearch for Q3 financial reports in the earnings collection"
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.
MCP Watson Discovery Server
A Model Context Protocol (MCP) server that enables secure interaction with Watson Discovery. This server allows AI assistants to list projects, list collections in projects, execute queries through natural language process.
Features
List available projects
List available collections in project
Execute queries in NLP in a collection
Related MCP server: IBM watsonx.data MCP Server
Configuration
Set the following environment variables:
WATSONX_DISCOVERY_APIKEY=
WATSONX_DISCOVERY_URL=
WATSONX_DISCOVERY_VERSION=2023-03-31Usage
With Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"watsonx-discovery": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"/home/morpheus/.local/bin/uv --directory /home/morpheus/workspace/mcp-discovery run 'server/__main__.py'"
]
}
}
}As a standalone server
# Install dependencies
uv install
# Run the server
uv run server/__main__.pyDevelopment
# Clone the repository
git clone https://github.com/matlock08/watson_discovery_mcp.git
cd watson_discovery_mcp
# Create virtual environment
uv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
# Install development dependencies
uv install
# Run
uv run run server/__main__.py
env WATSONX_DISCOVERY_APIKEY= env WATSONX_DISCOVERY_URL= env WATSONX_DISCOVERY_VERSION=2023-03-31 uvx mcp-watson-discovery License
MIT License - see LICENSE file for details.
Available Tools
3 toolsget_projectsA
Watson Discovery Get Projects
Description
The Watson Discovery Get Projects tool provides access to IBM Watson Discovery's projects, allowing you to retrieve a list of all available projects in your Watson Discovery instance. This tool returns both the human-readable project names and their corresponding unique identifiers (UUIDs) for use in subsequent operations.
Function
This tool connects to your IBM Watson Discovery instance using your provided authentication credentials, queries the available projects, and returns structured information about each project.
Use Cases
Inventory management of Watson Discovery projects
Project selection for further operations, such as querying or collection management
Pre-processing step before performing operations on specific projects
Integration with automated workflows that require project UUIDs
Authentication
This tool requires valid IBM Cloud IAM API credentials to access your Watson Discovery instance. Ensure your service account has appropriate permissions to list projects.
Output Format
Results are returned as a structured array of project objects, each containing:
name: The project name (string)project_id: The project's UUID (string in UUID format)type: The type of project Possible values: [intelligent_document_processing,document_retrieval,conversational_search,content_mining,content_intelligence,other] (string)collection_count: The number of collections configured in this project (integer)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description covers behavioral aspects like authentication needs and output structure. It explicitly states the function is to list projects, implying no destructive side effects, though it could state 'read-only' more directly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections and front-loaded main purpose. It is slightly verbose but every section contributes useful context without excessive repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description fully explains the return structure (name, project_id, type, collection_count) and authentication. It is complete for a list operation with no parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema coverage, so description adds value beyond schema by detailing output fields and authentication. Baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a list of projects with human-readable names and UUIDs. It distinguishes from sibling tools like 'list_project_collections' and 'query_project' by focusing exclusively on projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists concrete use cases and mentions authentication requirements, implying when to use it (e.g., inventory, pre-processing). It doesn't explicitly contrast with alternatives, but the sibling tools are sufficiently different to avoid confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_project_collectionsA
Watson Discovery List Project Collections
Description
The Watson Discovery List Project Collections return a lists of existing collections for the specified project and returns structured information about each collection
Function
This tool connects to your IBM Watson Discovery instance using your provided authentication credentials, listing the available collections of a project, and returns structured information about each collection.
Use Cases
Inventory management of Watson Discovery collections
Collection selection for further operations, such as querying
Pre-processing step before performing operations on specific projects and collections
Integration with automated workflows that require collection UUIDs
Authentication
This tool requires valid IBM Cloud IAM API credentials to access your Watson Discovery instance. Ensure your service account has appropriate permissions to list collections.
Output Format
Results are returned as a structured array of collections objects, each containing:
name: The collection name (string)collection_id: The collection's UUID (string in UUID format)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes behavior as reading collections and returning structured info. No annotations provided, so description carries full burden, but lacks details on pagination, errors, or performance. Adequate for a read list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections (Description, Function, Use Cases, Authentication, Output Format). Some redundancy ('return a lists' vs 'listing'), but overall efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers authentication, use cases, and output format details (name and collection_id). Missing error handling and pagination, but for a simple list tool this is reasonable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% – no parameter-level description. The description only implies project_id via 'specified project', adding minimal meaning beyond the schema's title. Fails to compensate for low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'list existing collections for the specified project' – a specific verb+resource. Differentiates from siblings (get_projects lists projects, query_project queries data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases (inventory, selection, pre-processing) and mentions authentication requirements. Lacks explicit 'when not to use' or comparison to siblings, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_projectA
Watson Discovery Query Project
Description
Search your data by submitting queries that are written in natural language for the specified project and collections. The query returns a list of documents that match the query criteria.
Function
This tool connects to your IBM Watson Discovery instance using your provided authentication credentials, listing the available documents of a project and collections, and returns structured information about each document.
Use Cases
Search and retrieve documents from a specific project and collection
Integration with automated workflows that require document retrieval
Authentication
This tool requires valid IBM Cloud IAM API credentials to access your Watson Discovery instance. Ensure your service account has appropriate permissions to query projects.
Output Format
Results are returned as a structured array of result objects, each containing:
document_id: The unique identifier of the document (string)result_metadata: Metadata of a query result (object)metadata: Metadata of the document (object)document_passages: Passages from the document that best matches the query (object)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| collection_id | Yes | ||
| natural_language_query | Yes | ||
| count | No | ||
| filter | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses authentication requirements (IBM Cloud IAM credentials) and output format (structured array with document_id, metadata, passages). It does not mention side effects, but as a read operation this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with distinct sections (Description, Function, Use Cases, Authentication, Output Format). All sentences are relevant and front-loaded with purpose. It is slightly verbose but not excessive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and no sibling context issues, the description covers authentication and output format but lacks parameter details. Use cases are provided. It is partially complete but missing crucial per-parameter guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain individual parameters like project_id, collection_id (type array), count, or filter. The mention of natural language queries only hints at the natural_language_query parameter. The description does not compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool searches data using natural language queries for a specified project and collections, returning matching documents. It also mentions connection to IBM Watson Discovery, distinguishing it from sibling tools like get_projects and list_project_collections which are for listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Use Cases' section provides two clear examples (searching documents, integration with workflows). It does not explicitly state when not to use or name alternatives, but the sibling tools imply the scope is for document search within a project, providing good context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.10- First observed
get_projects - First observed
list_project_collections - First observed
query_project
TDQS
Scored across 3 tools
Each tool has a distinct purpose: get_projects lists projects, list_project_collections lists collections for a project, and query_project retrieves documents. There is no overlap or ambiguity.
All tools use snake_case with a consistent verb_noun pattern (get_projects, list_project_collections, query_project). No mixing of styles.
With only 3 tools, the server is quite minimal for a service like Watson Discovery, which typically involves many more operations. However, it provides a basic read-only workflow, so it is borderline acceptable.
The server only supports read operations (list projects, list collections, query). Missing create, update, delete for projects and collections, as well as document management features, leaving significant gaps for agents.
Maintenance
Related MCP Connectors
Discover, preview, estimate, run, and retrieve reusable AI workflows.
Read-only AgentiScript concept search, catalog, authenticity, license, and approved asset discovery.
Interact with your Google Cloud Firestore resources using natural language commands.
Secure Docusign Navigator integration for AI assistants to access and analyze agreement data.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with OSDU platform services including search, data management, and schema operations.6Apache 2.0

IBM watsonx.data MCP Serverofficial
AlicenseBqualityBmaintenanceEnables AI assistants to interact seamlessly with IBM watsonx.data lakehouses using natural language for operations like querying, catalog browsing, engine management, and data ingestion.397Apache 2.0- AlicenseNot gradedqualityAmaintenanceConnects AI coding assistants to Google Cloud Discovery Engine APIs for semantic search, conversational RAG, and administration of datastores, documents, and configurations.14 npmApache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with CA Clarity PPM for discovery, CRUD operations, and analytics.1-