lmstudio-connectors
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lmstudio-connectorssearch for machine learning tutorials"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LM Studio Connectors
Local MCP tools for LM Studio:
DuckDuckGo/metasearch through
ddgsWeb scraping and article extraction through
httpx+ Trafilaturayt-dlpmetadata, subtitles, audio, and video downloadsMFLUX image generation on macOS/Apple Silicon when MFLUX is installed
Playwright CLI browser automation through
@playwright/cli
The project is intentionally one MCP server so LM Studio only needs one local entry.
Install
cd /absolute/path/to/LMStudioConnectors
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -U pip
python -m pip install -e ".[dev,browser]"
python -m playwright install chromium
npm install
npx playwright install chromiumLM Studio should launch bin/lmstudio-connectors-mcp. The wrapper sets
PYTHONPATH explicitly and then starts the server from the project virtual
environment.
MFLUX is optional. Install it separately on the Mac that will generate images:
python -m pip install mfluxRelated MCP server: webmcp
LM Studio mcp.json
Open LM Studio's MCP settings and add:
{
"mcpServers": {
"lmstudio-connectors": {
"command": "/absolute/path/to/LMStudioConnectors/bin/lmstudio-connectors-mcp",
"args": []
}
}
}The same content is checked in at lmstudio.mcp.example.json.
If you install uv later, this entry also works:
{
"mcpServers": {
"lmstudio-connectors": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/LMStudioConnectors",
"run",
"lmstudio-connectors-mcp"
]
}
}
}Tools
Tool | Purpose |
| Search the web and return ranked title/URL/snippet results. |
| Fetch a page and extract clean Markdown, text, JSON, or HTML. |
| Return metadata for a video or, when explicitly enabled, a playlist. |
| Save subtitles/transcripts and return cleaned text. |
| Download audio or video into the controlled output directory. |
| Generate an image by calling the local MFLUX CLI. |
| Read MFLUX metadata from a generated image. |
| Open a URL in a named Playwright CLI browser session. |
| Navigate the current Playwright CLI page. |
| Capture an accessibility snapshot with element refs. |
| Run safe CLI actions like click, fill, press, console, requests, and tabs. |
| Save screenshots or PDFs under |
| Close the named Playwright CLI session. |
| Report local Playwright CLI availability. |
| Report installed optional dependencies and output paths. |
Playwright CLI
This repo uses Microsoft's @playwright/cli package for the CLI-first browser
workflow. The wrapper is bin/playwright-cli, and it loads
.playwright/cli.config.json from the repo root.
Useful manual commands:
bin/playwright-cli --help
bin/playwright-cli open https://example.com
bin/playwright-cli snapshot --depth=4
bin/playwright-cli screenshot --filename=outputs/playwright-cli/example.png
bin/playwright-cli closeLM Studio can use the same CLI through the playwright_cli_* MCP tools exposed
by lmstudio-connectors.
Safety Defaults
Tools only accept
httpandhttpsURLs.Localhost, private IPs, loopback, multicast, link-local, and reserved networks are blocked unless
LMSTUDIO_CONNECTORS_ALLOW_PRIVATE_NET=1.Files are written only under
outputs/orLMSTUDIO_CONNECTORS_OUTPUT_DIR.yt-dlp playlists are disabled unless the tool call explicitly opts in.
MFLUX command arguments are built from validated typed fields, not raw shell strings.
Playwright CLI output is constrained to
outputs/playwright-cli/, and the MCP wrapper only exposes an allowlist of CLI commands/options.
Useful Environment Variables
Variable | Default | Purpose |
|
| Root for all generated files. |
|
| Allow localhost/private URLs when set to |
|
| HTTP fetch timeout in seconds. |
|
| Max web page bytes before extraction. |
|
| Default text returned to LM Studio. |
| auto-detect | Override MFLUX image generation binary. |
| auto-detect | Override MFLUX metadata binary. |
Top Next Integrations
Playwright MCP for full browser interaction, login-dependent pages, and dynamic apps.
Local document/PDF extraction for classroom handouts, Moodle exports, and PDFs.
Strict-root filesystem search for local course and code folders.
Local vector memory using LM Studio embeddings for durable notes and retrieved context.
Moodle/local-service tools for the user's existing course workflows.
Optional remote MCPs: Hugging Face, Notion, Linear, Atlassian, Sentry.
License
MIT. See LICENSE. Third-party Python and npm dependencies retain their own
licenses.
Available Tools
15 toolsconnector_healthB
Report connector configuration and optional dependency availability.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It indicates a read-only operation ('Report') but provides no details on side effects, dependencies, or behavior when optional dependencies are missing. The phrase 'optional dependency availability' hints at some checks but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose. It earns its place but could provide slightly more detail without becoming verbose. Overall it is efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and includes an output schema, the description sufficiently covers the essential context. It explains what is reported (configuration and dependency availability). The absence of more details is acceptable for a simple health-check tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty, so there are zero parameters. Per guidelines, zero parameters default to a score of 4. The description does not need to add parameter semantics since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reports connector configuration and optional dependency availability. The verb 'Report' is specific and the resource is defined. It doesn't explicitly distinguish from 'playwright_cli_health' but the connector focus differentiates it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. There is no mention of when to use this tool versus the sibling health tool 'playwright_cli_health' or any other alternative. The context implies a health-check purpose, but lacks explicit instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mflux_generateC
Generate an image by calling the local MFLUX CLI.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| model | No | z-image-turbo | |
| steps | No | ||
| width | No | ||
| height | No | ||
| prompt | Yes | ||
| low_ram | No | ||
| guidance | No | ||
| quantize | No | ||
| output_name | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only mentions that the tool calls a local CLI, but does not disclose that image generation may be time-consuming, consume significant resources, or produce files on disk. No side effects, output format, or dependency requirements are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, and the core action is front-loaded. However, it lacks any structural elements like usage hints or parameter highlights, which are expected given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is insufficient for a complex 11-parameter tool with no annotations. It lacks essential context about prerequisites, typical use cases, or operational behavior such as whether it runs locally, how long it might take, or what side effects occur.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no information about any of the 11 parameters. It does not mention the prompt, model, dimensions, or any other input, leaving the agent entirely dependent on the schema for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Generate an image by calling the local MFLUX CLI.' It distinguishes itself from sibling tools like mflux_info, which presumably provides information, and the web/playwright tools, which handle different tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor mention of prerequisites such as the local MFLUX CLI being installed or configured. The description gives no context for selecting this tool over mflux_info or any other sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mflux_infoB
Read MFLUX metadata for a generated image.
| Name | Required | Description | Default |
|---|---|---|---|
| image_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden. 'Read' implies a non-destructive operation, but it does not describe error handling, prerequisites, or any behavioral nuances. This is minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that efficiently communicates the core purpose without extraneous words. It is perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values are covered. The description adequately states the tool's purpose but lacks context about when to use it relative to mflux_generate or any prerequisites, keeping it at a minimum viable level for a simple one-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for image_path, so the description must compensate. It adds only partial context by indicating the image is 'generated', but fails to clarify path format or expected source, leaving much of the parameter semantics unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Read' and the resource 'MFLUX metadata' for 'a generated image', distinguishing it from siblings like mflux_generate which creates images. However, it does not explicitly differentiate from potential read siblings, relying on context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'generated image' implies the tool is used after mflux_generate, but no explicit when-to-use or alternative guidance is provided. The usage context is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playwright_cli_actionC
Run a safe Playwright CLI action such as click, fill, press, console, requests, or tabs.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | ||
| command | Yes | ||
| session | No | lmstudio-connectors | |
| max_chars | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing side effects. It calls actions 'safe' but does not define safety or mention that commands like click/fill modify page state. It also omits failure behavior, permissions, or return characteristics, which is a significant gap for a tool that can execute arbitrary CLI commands.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence with a clear front-loaded verb phrase. It avoids wasted words, but the brevity comes at the cost of necessary detail, making it efficient yet insufficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and no annotation support, the description is far too sparse. It does not clarify what commands are valid, how args map to them, what the output schema contains in practice, or how session/timeout affect execution. Even with an output schema present, the description alone cannot guide correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description names example command values but does not explain any of the five parameters (command, args, session, max_chars, timeout_seconds). Since schema coverage is 0%, the description must compensate, and it only hints at the command parameter. Args, session, and timeout behavior remain entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it runs a Playwright CLI action and gives concrete examples (click, fill, press, console, requests, tabs). This distinguishes it from sibling tools like open, goto, or snapshot, which are more specific operations. It could be more explicit about what 'action' encompasses, but the examples anchor the purpose well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling tools (e.g., goto for navigation, snapshot for state capture). The description implies it handles interactions and console/network requests, but does not state exclusions or alternatives, leaving the agent to guess based on tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playwright_cli_closeC
Close the current page/browser for a named Playwright CLI session.
| Name | Required | Description | Default |
|---|---|---|---|
| session | No | lmstudio-connectors | |
| max_chars | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action 'close' without explaining side effects such as whether the underlying browser process terminates, whether the session becomes invalid for reuse, or how it interacts with ongoing operations. For a destructive action like close, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, the brevity contributes to the lack of crucial details, making it more under-specified than efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists and return values are covered, the tool's parameters are undocumented, behavioral effects are ambiguous, and the session lifecycle implications are unclear. The description provides only the core action and is insufficient for safe and correct invocation of this destructive tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage for its three parameters, and the description does not compensate. While 'named session' implies the session parameter, the purpose of max_chars and timeout_seconds is completely unexplained, leaving the agent without any semantic understanding of how to set them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear action verb 'close' and names the resource as the 'current page/browser' for a named Playwright CLI session, which distinguishes it from sibling tools like open, goto, and action. However, the phrase 'page/browser' is ambiguous about whether it closes only the page, the entire browser, or both, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of prerequisites (e.g., whether a session must already be open), and no explicit statement about its role in the session lifecycle. The usage is inferred from the name and description but not explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playwright_cli_gotoC
Navigate the current Playwright CLI page to a public URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| session | No | lmstudio-connectors | |
| max_chars | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action (navigate to a URL) and omits critical details such as whether the current page is replaced, how errors are handled, whether the tool waits for page load, or how session and timeout parameters affect behavior. The description is too minimal to be considered transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with the main verb 'Navigate' front-loaded. It contains no unnecessary words and is easy to parse. While it is very brief, the conciseness dimension rewards efficient use of language, and the sentence is appropriately sized for the limited information it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, which may document return values, the description is incomplete for a tool with four parameters and no annotations. It fails to explain the role of optional parameters, the need for an active session, or how the tool fits into a broader workflow. The description alone does not provide enough context for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only mentions 'public URL', which loosely corresponds to the url parameter, but it provides no additional meaning for the other three parameters (session, max_chars, timeout_seconds). It does not explain their purpose, defaults, or how they influence the operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Navigate' and identifies the resource as 'the current Playwright CLI page', clearly indicating it changes the URL of an existing page. This distinguishes it from sibling tools like playwright_cli_open (which likely opens a new page) and playwright_cli_snapshot (which captures state), though it does not explicitly mention these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention prerequisites (e.g., an already-open page) or exclude scenarios where other tools like playwright_cli_open would be more appropriate. The phrase 'current page' implies an existing session but does not explicitly state this or provide any usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playwright_cli_healthB
Report local Playwright CLI availability.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. 'Report local Playwright CLI availability' is minimal and vague; it does not explain what 'availability' means (e.g., whether it checks PATH, version, or connectivity), nor does it state whether the tool has side effects or how it reports results. The agent is left guessing about the tool's exact behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence: 'Report local Playwright CLI availability.' It is concise and front-loaded, with every word contributing to the meaning. There is no redundant information or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple health-check tool with no parameters and an output schema, the description is minimally viable. It tells what the tool does at a high level, and the output schema likely covers return structure. However, the description lacks semantic depth about what 'availability' entails and how it differs from other health checks, leaving room for ambiguity. Given the tool's simplicity, this is a borderline acceptable but not rich context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100%. With no parameters to describe, the baseline for this dimension is 4. The description's lack of parameter details is not a gap because there are no parameters to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Report local Playwright CLI availability.' This clearly indicates the tool checks whether the Playwright CLI is available. It is distinct from sibling tools like connector_health, which checks connector health, and playwright_cli_open/goto, which perform actions. However, it does not explicitly distinguish itself from connector_health or explain the exact scope beyond availability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that it should be used before Playwright automation tasks, nor does it compare with connector_health. There is no context about prerequisites or typical call scenarios, leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playwright_cli_openC
Open a public URL in a named Playwright CLI session.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| headed | No | ||
| browser | No | chromium | |
| session | No | lmstudio-connectors | |
| max_chars | No | ||
| persistent | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full transparency burden. It discloses that the URL must be public and that the operation targets a named session, but it does not mention browser launch behavior, side effects, persistent sessions, or timeout consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence with no filler or redundancy. It is concise and front-loaded, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the availability of an output schema, the tool has seven parameters and no annotations, so the description needs to provide context about when and how the operation behaves. It fails to explain session creation/reuse, persistence, timeouts, or the relationship to sibling navigation tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate, but it only clarifies 'public URL' for the url parameter and 'named' for session. The other five parameters (headed, browser, max_chars, persistent, timeout_seconds) receive no semantic explanation in either the schema or the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Open') and identifies the resource ('a public URL in a named Playwright CLI session'), making its core function clear. However, it does not distinguish itself from the sibling playwright_cli_goto, which likely performs a similar navigation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool instead of playwright_cli_goto, playwright_cli_action, or web_scrape. The phrase 'public URL' implies a constraint, but there is no explicit context, exclusions, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playwright_cli_saveC
Save a screenshot or PDF from the current Playwright CLI page.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | ||
| kind | No | screenshot | |
| session | No | lmstudio-connectors | |
| filename | No | ||
| max_chars | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only states the operation (saving) but does not mention side effects (e.g., creating files on disk), prerequisites, whether the session needs to be active, or how the output is surfaced. This is a significant gap for a tool with no annotation safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 11-word sentence, making it highly concise and front-loaded. It avoids verbosity, though the extreme brevity leaves out critical details. It earns its place but could be slightly more structured without losing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is incomplete for a tool with six parameters and no annotations. It does not explain what 'current page' requires, what 'ref' refers to, or how session selection works. Given the tool's complexity, the single sentence is inadequate for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It mentions 'screenshot or PDF' which loosely maps to the 'kind' parameter, but it does not explain any of the six parameters (ref, session, filename, max_chars, timeout_seconds). There is essentially no added meaning beyond what the raw parameter names imply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Save'), identifies the resources ('screenshot or PDF'), and scopes it to 'the current Playwright CLI page.' This clearly distinguishes it from sibling tools like open, goto, action, and snapshot, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It does not mention that it should be used after navigation or that it pairs with open/goto, nor does it exclude cases where snapshot or action would be more appropriate. The usage context is only implied by the phrase 'current page.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playwright_cli_snapshotB
Capture an accessibility snapshot and element refs from the current page.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | ||
| boxes | No | ||
| depth | No | ||
| session | No | lmstudio-connectors | |
| max_chars | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'capture,' which implies a read operation, but does not disclose whether a page must be open, whether it has side effects, what the element refs are for, or any limits like max_chars or timeout. This lack of detail leaves significant uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 11 words that front-loads the core action. Every word contributes meaning, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the output schema exists (so return values are covered), the description is too sparse for a tool with six configurable parameters. It lacks behavioral context and parameter semantics, making it incomplete for an agent to correctly invoke the tool with appropriate settings. The core purpose is clear, but operational details are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention any of the six parameters (ref, boxes, depth, session, max_chars, timeout_seconds). The parameter names are partially self-explanatory, but without descriptions, the agent cannot understand nuances like what 'ref' refers to or how 'depth' affects output. The description fails to compensate for the schema's lack of documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('capture') and identifies a clear resource ('accessibility snapshot and element refs') scoped to 'the current page.' This clearly distinguishes it from sibling tools like open, goto, action, save, and close, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from the current page' implies the tool is used after navigating to a page, providing implied usage context. However, it does not explicitly state when to use this tool over alternatives, nor does it mention any exclusions or prerequisites, so it falls short of clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_scrapeC
Fetch a page and extract clean Markdown, text, JSON, or HTML.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| max_chars | No | ||
| use_browser | No | ||
| include_links | No | ||
| output_format | No | markdown | |
| include_images | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only mentions 'clean' extraction, but fails to disclose how it handles JavaScript, the effect of use_browser, rate limits, or what happens with failed fetches. The term 'clean' is too vague to be informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff. It front-loads the core purpose effectively. However, it is almost too sparse, sacrificing necessary detail, but that is a completeness issue rather than a conciseness one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has six parameters and no annotations, and the schema provides no descriptions. The description covers only the basic purpose and output formats, entirely omitting parameter guidance, use cases, or behavior. It is grossly insufficient for an agent to select and use this tool correctly in diverse contexts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It relates to output_format via 'Markdown, text, JSON, or HTML', but it does not explain any other parameters (url, max_chars, use_browser, include_links, include_images). The lack of parameter descriptions forces the agent to rely on parameter names alone, which is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Fetch' and the resource 'a page', and specifies the output types ('Markdown, text, JSON, or HTML'). This distinguishes it from sibling tools like web_search (search) and playwright_cli_* (browser automation). It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as playwright_cli_goto or web_search. There is no mention of scenarios like static vs. dynamic content, or when to set use_browser=true. Usage context is entirely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_searchB
Search the web and return ranked title, URL, and snippet results.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| region | No | us-en | |
| timelimit | No | ||
| safesearch | No | moderate | |
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It does disclose that results are 'ranked' and include title, URL, and snippet, which is useful. However, it omits behavioral details like pagination, rate limits, or the effect of parameters like safesearch and region on the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and result, containing no filler or redundant information. Every word contributes to understanding the tool's core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While an output schema exists, the tool has five parameters with no usage explanations, no annotation-backed safety context, and no guidance on when to use it relative to siblings. The description covers only the basic purpose and leaves significant gaps for an AI agent trying to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no explanation of any of the five parameters (query, region, timelimit, safesearch, max_results). It fails to compensate for the schema's lack of descriptions, leaving parameter meanings entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Search' with the resource 'the web', and clearly states the output format: 'ranked title, URL, and snippet results'. This distinguishes it from sibling tools like web_scrape, which likely fetch a specific page rather than perform a search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for general web search but gives no explicit guidance on when to use this tool versus alternatives such as web_scrape or yt_info. There is no mention of exclusions or when a different tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yt_downloadC
Download audio or video into the controlled output directory.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| mode | No | audio | |
| quality | No | standard | |
| playlist | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It mentions the output directory, which is useful, but omits details about file overwrites, download formats, error handling, or potential side effects, leaving significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single succinct sentence with no redundant words. It is front-loaded and easy to parse, though it could be expanded without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of parameter descriptions and annotations, the description is incomplete. It does not explain how the tool behaves with different modes, quality settings, or playlist handling, and the output schema is not referenced, leaving the overall context thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It hints at the audio/video distinction (mode) but provides no explicit meaning for 'quality' or 'playlist', and does not reference the parameters directly. This leaves most parameters semantically unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool downloads audio or video and specifies the destination as a controlled output directory. It is specific and aligns with the tool name, though it does not explicitly differentiate from siblings like yt_info or yt_subtitles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as yt_info or yt_subtitles. The description only implies the use case (downloading media) without any explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yt_infoB
Return yt-dlp metadata for a video or explicit playlist.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| playlist | No | ||
| max_entries | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It adds one nuance ('explicit playlist' implies the playlist flag must be set), but does not mention rate limits, authentication, error handling, output format, or side effects. Minimal beyond what the schema already shows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the action and resource. Every word is useful, and it is immediately clear what the tool does without excessive detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has an output schema, reducing the need to explain return values. However, with no annotations and minimal description, it lacks guidance on edge cases (e.g., invalid URLs, playlist behavior with max_entries). It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only alludes to the 'playlist' parameter with 'explicit playlist' and completely omits url and max_entries semantics. This is insufficient for a 3-parameter tool with no schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns yt-dlp metadata for a video or explicit playlist. It uses a specific verb ('Return') and resource ('yt-dlp metadata'), and distinguishes it from siblings like yt_download and yt_subtitles by focusing on metadata retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for fetching metadata when you have a video or playlist URL, but it does not explicitly state when to prefer this over siblings (e.g., use yt_download for downloading, yt_subtitles for subtitles). No when-not-to-use conditions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yt_subtitlesC
Download subtitles/transcripts when yt-dlp can access them.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| auto | No | ||
| languages | No | ||
| max_chars | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It only mentions a conditional accessibility constraint ('when yt-dlp can access them') but does not disclose output behavior, failure handling, or whether it writes files. This is insufficient for a tool with no safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler words. It immediately communicates the core purpose. Structure is optimal for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters and no parameter documentation, the description is far from complete. Although an output schema exists, the input parameters remain unexplained, and the tool's usage context is minimal. This level of completeness is inadequate for reliable agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% coverage (no parameter descriptions), and the tool description provides no explanation of the url, auto, languages, or max_chars parameters. The agent must infer their meaning, which is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool downloads subtitles/transcripts, using a specific verb (Download) and resource (subtitles/transcripts). It distinguishes from sibling tools like yt_download (video download) and yt_info (metadata).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The phrase 'when yt-dlp can access them' is a limitation, not a usage guideline. No exclusions or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct operation within its connector group, but playwright_cli_open and playwright_cli_goto both involve navigation and could be confused. The two health checks are also similar in purpose but for different subsystems.
All tools follow a snake_case pattern with a connector-specific prefix (web_, yt_, mflux_, playwright_cli_), but the suffix is a mix of verbs and nouns (e.g., yt_info vs yt_download), introducing minor inconsistency.
With 15 tools across several connectors, the count is within the ideal 3-15 range. Each connector has a minimal but useful set (web: 2, yt: 3, mflux: 2, playwright: 6, health: 2), so no tool feels unnecessary.
The server covers the main workflows for each connector: web search and scrape, YouTube metadata/subtitles/download, MFLUX generation and info, and Playwright browser automation with open/goto/snapshot/action/save/close. Some minor gaps exist, such as no YouTube search or no way to list Playwright sessions, but the core lifecycle is covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Focused MCP server for OpenAI image/audio generation (v2.0.0). Wraps endpoints via HAPI CLI.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables tool-calling LLMs to search the internet, capture website images, extract webpage text, and more via a local MCP server.15
- AlicenseNot gradedqualityCmaintenanceMCP server for web search and content extraction using DuckDuckGo or SearXNG, with Playwright-based fetching and LLM-powered data extraction.139MIT
- FlicenseNot gradedqualityDmaintenanceMCP server that provides web search scraping from DuckDuckGo (with Mojeek fallback) and URL content fetching as markdown/text or raw HTML.1
- AlicenseNot gradedqualityCmaintenanceA fully local MCP server that provides web search via self-hosted SearXNG and page-to-markdown conversion (static and JS-rendered), all aggregated behind a single endpoint for use with AI assistants.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MaskwaSam/lmstudio-connectors'
If you have feedback or need assistance with the MCP directory API, please join our Discord server