1. Conduid
  2. AI
  3. Vtk MCP
MCP server · AI

Vtk MCP

MCP server for VTK

Unclaimed dockerllmmcppython
34Low

Scored 5 months ago · breakdown

About Vtk MCP

Vtk MCP is an MCP server in the AI category: mCP server for VTK.

Install

From source
git clone https://github.com/Kitware/vtk-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (20)

vtk_get_class_action_phrase(class_name)`action_phrase` (noun phrase, ≤5 words)

Parameters not published.

vtk_get_class_doc(class_name)`class_doc`

Parameters not published.

vtk_get_class_info(class_name)all fields

Parameters not published.

vtk_get_class_inheritance(class_name)`inheritance` (full MRO chain)

Parameters not published.

vtk_get_class_input_datatype(class_name)`input_datatype`

Parameters not published.

vtk_get_class_methods(class_name)`methods` (name, signatures, doc)

Parameters not published.

vtk_get_class_module(class_name)`module_name` (`vtkmodules.*` path)

Parameters not published.

vtk_get_class_output_datatype(class_name)`output_datatype`

Parameters not published.

vtk_get_class_record_metadata(class_name)`vtk_version`, `schema_version`, `content_hash`

Parameters not published.

vtk_get_class_role(class_name)`role` (`source`, `filter`, `mapper`, `renderer`, `scene`, …)

Parameters not published.

Show all 20 tools
vtk_get_class_semantic_methods(class_name)`semantic_methods` (non-inherited)

Parameters not published.

vtk_get_class_synopsis(class_name)`synopsis` (one sentence, ≤20 words)

Parameters not published.

vtk_get_class_visibility(class_name)`visibility_score` (0.0–1.0)

Parameters not published.

vtk_get_method_doc(class_name, method_name)`method.doc`

Parameters not published.

vtk_get_method_info(class_name, method_name)single `VTKMethod`

Parameters not published.

vtk_get_method_signature(class_name, method_name)`method.signatures[0]`

Parameters not published.

vtk_get_module_classes(module)all `class_name`s in a module

Parameters not published.

vtk_is_a_class(class_name)membership check

Parameters not published.

vtk_search_classes(query, limit)`class_name`, `module_name`, `synopsis`

Parameters not published.

vtk_version_info()index-level `vtk_version`, class count, feature flags

Parameters not published.

Ask AI

✦

Ask AI about Vtk MCP

Powered by Claude · Grounded in docs

I know everything about Vtk MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

VTK MCP Server

Access VTK class documentation through a Model Context Protocol server.

Installation

# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install the package
pip install .

Usage

Server

# Start stdio server (for MCP clients)
vtk-mcp-server

# Start HTTP server for direct access
vtk-mcp-server --transport http --host localhost --port 8000

Client

# Get detailed C++ class information
vtk-mcp-client info-cpp vtkActor
vtk-mcp-client info-cpp vtkPolyData

# Get Python API documentation
vtk-mcp-client info-python vtkSphere
vtk-mcp-client info-python Renderer

# Search for classes containing a term
vtk-mcp-client search Camera
vtk-mcp-client search Filter

# List available tools
vtk-mcp-client list-tools

# Connect to different server
vtk-mcp-client --host localhost --port 8000 info-cpp vtkActor

MCP Tools

The server provides four MCP tools:

  • get_vtk_class_info_cpp(class_name) - Get detailed C++ documentation for a VTK class from online documentation
  • get_vtk_class_info_python(class_name) - Get Python API documentation using help() function
  • search_vtk_classes(search_term) - Search for VTK classes containing a term
  • vector_search_vtk_examples(query) - Search VTK examples using vector similarity (requires embeddings database)

Vector Search with RAG

The server supports semantic search over VTK Python examples using vector embeddings. This requires the embeddings database.

Downloading the Embeddings Database

The pre-built embeddings database is available as a container image on GitHub Container Registry:

# Using Docker
docker create --name vtk-embeddings ghcr.io/kitware/vtk-mcp/embeddings-database:latest
docker cp vtk-embeddings:/vtk-examples-embeddings.tar.gz .
docker rm vtk-embeddings

# Using Podman
podman create --name vtk-embeddings ghcr.io/kitware/vtk-mcp/embeddings-database:latest
podman cp vtk-embeddings:/vtk-examples-embeddings.tar.gz .
podman rm vtk-embeddings

# Extract the database
tar -xzf vtk-examples-embeddings.tar.gz

Using Vector Search

After downloading and extracting the database, start the server with the database path:

# Install RAG dependencies
pip install -r rag-components/requirements.txt

# Start server with vector search enabled
vtk-mcp-server --transport http --database-path ./db/vtk-examples

# Use vector search with the client
vtk-mcp-client vector-search "render a sphere"
vtk-mcp-client vector-search "read DICOM files" --top-k 10

Docker

Using Pre-built Image

# Run with Docker/Podman
docker run -p 8000:8000 ghcr.io/kitware/vtk-mcp:latest

# Or with Podman
podman run -p 8000:8000 ghcr.io/kitware/vtk-mcp:latest

# Access server at http://localhost:8000/mcp/

Building Locally

# Build image
docker build -t vtk-mcp-server .

# Or with Podman
podman build -t vtk-mcp-server .

# Run container
docker run -p 8000:8000 vtk-mcp-server

Docker Compose

# Start services
docker-compose up -d

# View logs
docker-compose logs -f

# Stop services
docker-compose down

Development

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate

# Install in development mode
pip install -e .

# Format and lint
black src/
flake8 src/ --max-line-length=88

# Test the HTTP server and client
vtk-mcp-server --transport http &
vtk-mcp-client info-cpp vtkActor

Testing

Install test dependencies:

pip install -e ".[test]"

Run tests:

# Run all tests
pytest

# Run specific test types using markers
pytest -m unit                  # Unit tests only
pytest -m integration           # Integration tests only
pytest -m http                  # HTTP transport tests
pytest -m stdio                 # Stdio transport tests

# Run specific test files
pytest tests/test_server_functions.py      # Server unit tests
pytest tests/test_client_no_server.py      # Client error handling
pytest tests/test_http_integration.py      # HTTP integration
pytest tests/test_stdio_integration.py     # Stdio integration

# Useful pytest options
pytest -v                       # Verbose output
pytest -x                       # Stop on first failure
pytest --tb=short              # Short traceback format
pytest -k "test_name"          # Run tests matching pattern

Test Structure

  • tests/test_server_functions.py - Unit tests for MCP tool functions (no server required)
  • tests/test_client_no_server.py - Client error handling when server unavailable
  • tests/test_http_integration.py - Full integration tests with HTTP transport
  • tests/test_stdio_integration.py - Full integration tests with stdio transport
  • tests/conftest.py - Shared test fixtures and configuration

Release Process

The package version is automatically determined from git tags using hatch-vcs.

Creating a Release

# 1. Ensure all changes are committed
git status

# 2. Create and push a new tag
git tag -a v0.2.0 -m "Release v0.2.0"
git push origin v0.2.0

# 3. Build the package
pip install build hatch-vcs twine
python -m build

# 4. Check the package
twine check dist/*

# 5. Upload to PyPI (or TestPyPI first)
twine upload dist/*
# For TestPyPI: twine upload --repository testpypi dist/*

The version will be automatically set based on the git tag.

Authors

  • Vicente Bolea @ Kitware

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Vtk MCP

How do I install Vtk MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Vtk MCP safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Vtk MCP still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.