Pinion
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEMINI_API_KEY | No | API key for Google Gemini (required if provider is gemini). | |
| GOOGLE_API_KEY | No | Alternative API key for Google Gemini. | |
| OPENAI_API_KEY | No | API key for OpenAI (required if provider is openai). | |
| PINION_LLM_MODEL | No | Model name override. | |
| ANTHROPIC_API_KEY | No | API key for Anthropic (required if provider is anthropic). | |
| PINION_MAX_ROUNDS | No | Max LLM re-synthesis rounds. | 3 |
| PINION_OLLAMA_URL | No | Ollama server URL (if provider is ollama). | http://localhost:11434 |
| PINION_GATEWAY_URL | No | Enterprise gateway URL (required if provider is enterprise-gateway). | |
| PINION_LLM_PROVIDER | No | LLM provider. Options: anthropic, openai, gemini, ollama, enterprise-gateway. | anthropic |
| PINION_GATEWAY_API_KEY | No | API key for enterprise gateway (required if provider is enterprise-gateway). | |
| PINION_SANDBOX_TIMEOUT | No | Timeout per case in seconds. | 5.0 |
| PINION_DEFAULT_THRESHOLD | No | Coverage threshold. | 0.8 |
| PINION_SANDBOX_MEMORY_MB | No | Memory limit per case in MB. | 256 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| characterize_functionC | Generate characterization (regression) pytest tests for a single Python pure function. Returns a CharacterizationResult including the emitted pytest code. |
| characterize_methodA | v2: Generate characterization tests for a single Python class method. Returns a CharacterizationResult including the emitted pytest code with @pytest.fixture-based instance setup. |
| characterize_moduleA | Generate characterization tests for every pure top-level function in a module. Returns a list of CharacterizationResult, one per function (or per-function error dict). Failures don't abort the whole call. |
| health_checkA | Check Pinion configuration and LLM provider reachability. When |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool targets a distinct scope: single pure function, class method, or entire module, plus a standalone health check. No overlap.
All tool names follow the same snake_case verb_noun pattern (characterize_*, health_check) with no deviations.
4 tools is well-scoped for a focused server that generates characterization tests and provides a health check.
Covers the main use cases (function, method, module) but could add support for classes or async functions. Minor gap.