local-spark-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOCAL_SPARK_JAVA_HOME | No | Path to Java 17 home directory (overrides runtime.java_home in config) | |
| LOCAL_SPARK_WORKSPACE_NAME | No | Name of the Fabric workspace to connect to (optional, defaults to local-only) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| run_codeA | Run a cell of Python/PySpark against the persistent session. State persists across calls; |
| run_sqlA | Run a Spark SQL statement and return rows as a text table. Reference Fabric tables by name ( |
| session_infoA | Show the live Spark session: version, master, current database, the catalog databases, and any Fabric lakehouses registered this session. |
| reset_runtimeA | Reset the runtime: restart the Spark session and wipe all state — variables, imports, and mounted tables. Use to start from a clean slate. |
| list_lakehousesA | List the Fabric lakehouses available in this session. Each is registered as a Spark database; its tables are mounted on demand. |
| list_tablesA | List the Delta tables in a Fabric lakehouse. Tables are not queryable via SQL until you mount them with mount_table or mount_lakehouse. |
| mount_tableA | Explicitly register one Fabric Delta table as |
| mount_lakehouseA | Mount ALL tables in a lakehouse as |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool has a clearly distinct role: running Python vs SQL, inspecting session state, resetting, and managing lakehouse/table mounting. The potential overlap between mount_table and mount_lakehouse is clearly scoped.
Most tools follow a verb_noun snake_case pattern (run_code, run_sql, list_lakehouses, mount_table), but session_info is a noun_noun exception. Still consistent style overall.
8 tools is well-scoped for a Spark session server, covering execution, SQL, state management, and catalog operations without redundancy.
The surface covers the full workflow: execute code, query SQL, inspect session, reset state, list and mount data sources. Auto-mounting in run_sql and explicit mounting in mount_* cover the data access lifecycle.