jeevesagent.mcp.spec
====================

.. py:module:: jeevesagent.mcp.spec

.. autoapi-nested-parse::

   Declarative MCP server descriptions.



Classes
-------

.. autoapisummary::

   jeevesagent.mcp.spec.MCPServerSpec


Module Contents
---------------

.. py:class:: MCPServerSpec

   How to find and talk to a single MCP server.

   Construct via the class methods :meth:`stdio` or :meth:`http` rather
   than the bare constructor — they enforce the right combination of
   fields per transport.


   .. py:method:: http(name: str, url: str, headers: dict[str, str] | None = None, *, description: str = '') -> MCPServerSpec
      :classmethod:


      Connect to ``url`` via Streamable HTTP transport.



   .. py:method:: stdio(name: str, command: str, args: list[str] | tuple[str, Ellipsis] | None = None, env: dict[str, str] | None = None, *, description: str = '') -> MCPServerSpec
      :classmethod:


      Spawn ``command`` as a subprocess and speak JSON-RPC over its stdio.



   .. py:attribute:: args
      :type:  tuple[str, Ellipsis]
      :value: ()



   .. py:attribute:: command
      :type:  str | None
      :value: None



   .. py:attribute:: description
      :type:  str
      :value: ''



   .. py:attribute:: env
      :type:  tuple[tuple[str, str], Ellipsis]
      :value: ()



   .. py:attribute:: headers
      :type:  tuple[tuple[str, str], Ellipsis]
      :value: ()



   .. py:attribute:: name
      :type:  str


   .. py:attribute:: transport
      :type:  Literal['stdio', 'http']


   .. py:attribute:: url
      :type:  str | None
      :value: None



