Metadata-Version: 2.4
Name: triagekit-mcp-core
Version: 0.1.0
Summary: Shared auth, config, logging, formatting, retry, and testing utilities for TriageKit MCP servers.
Project-URL: Homepage, https://github.com/Karthick-dev-cart/triagekit-mcp
Project-URL: Repository, https://github.com/Karthick-dev-cart/triagekit-mcp
Author: TriageKit Contributors
License-Expression: MIT
Keywords: automation,mcp,model-context-protocol
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Requires-Dist: fastmcp<4.0,>=3.0
Requires-Dist: keyring>=25.0
Requires-Dist: pydantic-settings>=2.4
Requires-Dist: pydantic>=2.7
Requires-Dist: python-dotenv>=1.0
Requires-Dist: tenacity>=9.0
Description-Content-Type: text/markdown

# triagekit-mcp-core

Shared internal library for [TriageKit](../../README.md) MCP servers: layered credential loading,
env-prefixed settings, redacted structured logging, tool-output formatting helpers, a retry
decorator, and FastMCP in-process test helpers.

This package is a dependency of every `triagekit-mcp-*` server — it is not meant to be installed
standalone, though nothing prevents it.

See [CONTRIBUTING.md](../../CONTRIBUTING.md) for the two rules every module here exists to support:
credentials never cross the tool-call boundary, and tools return evidence rather than verdicts.

## Modules

| Module | Purpose |
|---|---|
| `auth` | Layered credential lookup: `TRIAGEKIT_<SERVER>_*` env var → tool-native env var → `.env` → OS keyring |
| `config` | `pydantic-settings` base class + `settings_config()` for the `TRIAGEKIT_<SERVER>_*` prefix convention |
| `logging` | Structured JSON logging with secret redaction applied to every record |
| `formatting` | Markdown tables, truncation, pagination helpers for shaping tool output |
| `retry` | Exponential-backoff retry decorator for flaky external API calls |
| `testing` | FastMCP in-process tool-call helper and JSON fixture loader for tests |
