0

LMStudio provider

Install and configure the LM Studio adapter, then run the Python example and check its capabilities.

LM
LM Studio Provider
Chapter 034ProvidersLocalIndex
01Orientation

LMStudio is the public alias for LMStudioToolCallingProvider. This guide derives its constructor from MTPX 0.1.37.

Use this when

Install and configure the LM Studio adapter, then run the Python example and check its capabilities.

  • Install and configure
  • Create an agent
  • Constructor reference
  • Inspect capabilities
02 / syntax starter
python -m pip install "mtpx[lmstudio]"
mtp doctor --provider lmstudio
03 / manual

Read the system

The complete source manual—syntax, examples, linked references, edge cases, and implementation notes.

Documentation index ↗

LMStudio is the public alias for LMStudioToolCallingProvider. This guide derives its constructor from MTPX 0.1.37.

Install and configure

bashpython -m pip install "mtpx[lmstudio]"
mtp doctor --provider lmstudio

Start the local inference server before making a request. Use host or base_url as listed below to select its endpoint. A local server normally needs no cloud API key.

Constructor model defaults below come from this release's code. They are offline defaults, not a guarantee of current provider availability or account access. Enter an available model ID, or use /model in the terminal UI to discover models.

Create an agent

pythonfrom mtp import Agent
from mtp.providers import LMStudio
from mtp.toolkits import CalculatorToolkit

tools = Agent.ToolRegistry()
tools.register_toolkit_loader("calculator", CalculatorToolkit())
provider = LMStudio()
agent = Agent.MTPAgent(provider=provider, tools=tools)
print(agent.run("What is 25 * 4 + 10?", max_rounds=4))

This example makes a provider request. The offline quickstart needs no credentials.

Constructor reference

ParameterAnnotationSource default
modelstr'qwen3'
base_urlstr'http://127.0.0.1:1234/v1'
api_keystr | NoneNone
temperaturefloat0.0
tool_choicestr | dict[str, Any]'auto'
parallel_tool_callsboolTrue
clientAny | NoneNone

Inspect capabilities

pythonprint(provider.capabilities())

Capabilities describe the adapter's tools, streaming, media, structured output, and async behavior. The selected model and account can impose further restrictions. See the provider contract.

The adapter declares the following contract in this source release:

pythondef capabilities(self) -> ProviderCapabilities:
        return ProviderCapabilities(
            provider="lmstudio",
            supports_tool_calling=True,
            supports_parallel_tool_calls=bool(self.parallel_tool_calls),
            input_modalities=["text", "image"],
            supports_tool_media_output=True,
            supports_finalize_streaming=True,
            usage_metrics_quality=USAGE_METRICS_RICH,
            supports_reasoning_metadata=False,
            structured_output_support=STRUCTURED_OUTPUT_CLIENT_VALIDATED,
            supports_native_async=False,
            allow_finalize_stream_fallback=True,
        )
01

Read

Understand where LM Studio Provider sits in the agent loop before adding abstractions.

02

Wire

Connect the smallest useful provider, registry, store, or event stream first.

03

Observe

Expose events, logs, results, and failure states while the runtime is still moving.

04

Harden

Add policy, tests, retries, and audit traces after the behavior is visible.

Next docMistral Provider