Skip to main content

Core driver contract for the Model Context Standard.

Project description

mcs-driver-core

Core driver contract for the Model Context Standard (MCS).

This package defines the language-agnostic MCSDriver and MCSToolDriver interfaces, metadata classes (DriverMeta, DriverBinding, DriverResponse), extraction strategies, prompt strategies, and optional mixins (ToolCallSignaling, SupportsNativeTools).

It has zero runtime dependencies and weighs only a few kilobytes.

Installation

pip install mcs-driver-core

Quick start

from mcs.driver.core import MCSDriver, DriverMeta, DriverResponse

class MyDriver(MCSDriver):
    ...

Capability detection

Optional features (health checks, native tool-calling via get_native_tool_context, streaming tool-call signaling, …) are advertised as flags in DriverMeta.capabilities. Each optional contract carries its flag as a CAPABILITY constant. There are two operations — detection ("is the feature there?") and invocation ("give me the object that provides it") — and both avoid isinstance:

from mcs.driver.core import DriverMeta, SupportsNativeTools

# detection: a pure read over the (aggregated) capability flags
if driver.meta.has_capability(SupportsNativeTools):
    ...

# invocation: get the layer that satisfies the contract -- typed, no cast,
# works whether `driver` is a plain driver, an orchestrator, or a decorator
if (dc := DriverMeta.resolve_capability(driver, SupportsNativeTools)):
    ctx = dc.get_native_tool_context(model)

Do not rely on isinstance for feature detection. Drivers are composable: a decorator (auth, permission, hooks, …) wraps another driver, satisfies the same MCSDriver / MCSToolDriver interfaces, and is injected via dependency injection — so from the outside it just looks like a driver, and the client cannot know what the stack contains. isinstance only sees the outermost layer and misses capabilities provided deeper in the stack. Each decorator aggregates the inner driver's capabilities and adds its own, so meta.capabilities reflects the whole stack; isinstance does not.

Links

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcs_driver_core-0.3.1.tar.gz (30.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcs_driver_core-0.3.1-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file mcs_driver_core-0.3.1.tar.gz.

File metadata

  • Download URL: mcs_driver_core-0.3.1.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for mcs_driver_core-0.3.1.tar.gz
Algorithm Hash digest
SHA256 fd73525da9549b483abe770fbfd5fb94d97b0b578299004fe92d0eb6fe8f1409
MD5 4ca0979a512b8684674b958707eaf09e
BLAKE2b-256 13b9cba8fa2899fb47331123101406512e9e5fe5c19a17f17b5ca0ca854c23bb

See more details on using hashes here.

File details

Details for the file mcs_driver_core-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mcs_driver_core-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 386bcb5268f6eda49f7cd4eda7f2300dd706c9dd2bbb402abad94ed114a69cd1
MD5 4004630eb0b6bafd2a00b26d5a3538f6
BLAKE2b-256 b149fc5a6097fb557752bec9059f7210849af52757160556591acd730193b22a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page