Watson Discovery MCP Server
# 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
## Configuration
Set the following environment variables:
```bash
WATSONX_DISCOVERY_APIKEY=
WATSONX_DISCOVERY_URL=
WATSONX_DISCOVERY_VERSION=2023-03-31
```
## Usage
### With Claude Desktop
Add this to your `claude_desktop_config.json`:
```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
```bash
# Install dependencies
uv install
# Run the server
uv run server/__main__.py
```
## Development
```bash
# 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.
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.