MCP server for IBM watsonx.ai — chat, text generation, embeddings, tokenization, time-series forecasting, and model discovery with IBM Granite foundation models. Uses your own IBM Cloud credentials.
Six tools with complete JSON schemas, clear descriptions (avg 180 chars), and proper parameter typing. Tool annotations present (readOnlyHint, openWorldHint, idempotentHint). Naming follows verb_noun pattern (watsonx_chat, watsonx_forecast, etc.). All parameters have descriptions and type constraints. Schemas include minItems, enums, and range bounds. Main gaps: no output schema documentation, no error recovery guidance, no pagination support for list_models despite potentially large result sets.
Chat completion with an IBM Granite (or other watsonx.ai) model. Pass a list of role/content messages and get the assistant reply plus token usage.
Generate embedding vectors for one or more texts using an IBM Granite embedding model. Returns one vector per input plus the vector dimensionality.
Zero-shot time-series forecasting with an IBM Granite TimeSeries (TinyTimeMixer) model. Provide equal-length `timestamps` (ISO-8601, uniform cadence, oldest first) and numeric `values`; the series length must meet the model context window (≥512 for the default). Returns the forecast horizon (up to 96 steps) as future timestamps and values.
Raw text generation from a single prompt (no chat templating). Use for completion-style tasks and fine decoding control via greedy or sampling.
List the foundation models available to your watsonx.ai account and region. Optionally filter by supported function, e.g. text_generation or embedding.
No output schema documentation. Tool descriptions state what is returned (e.g., 'Returns the forecast horizon as future timestamps and values') but the actual response structure is not formally documented. LLMs cannot plan downstream tool calls or extract fields without knowing the response schema.
watsonx_list_models lacks pagination. Default limit=100, max=200, but no offset/cursor or total_count returned. If a user has >200 models, the tool cannot enumerate them. Description should state 'Returns up to 100 models; use limit parameter to adjust' and response should include total_count.
No error recovery guidance. Tool descriptions do not explain what to do if a call fails (e.g., 'If the model is not found, call watsonx_list_models to discover available models'). Error responses from the handler are not visible in the source, so it is unclear whether they include actionable recovery hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2025-06-18+ | v2 |
Count tokens (and optionally return them) for a text against a model tokenizer. Use to budget context and cost before a generation call.
watsonx_forecast requires equal-length timestamps and values but does not validate this constraint in the schema. The description states 'same length and order' but JSON Schema has no minItems/maxItems cross-field validation. If lengths mismatch, the error message is not documented.
watsonx_generate parameter 'top_p' is missing from the schema. The description mentions 'fine decoding control via greedy or sampling' but top_p is not listed in properties, only temperature and decoding_method. This is inconsistent with watsonx_chat which includes top_p.