Lists and searches Speckle projects, accesses model versions and queries objects and their properties from the Speckle AEC data hub.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add speckle --env SPECKLE_SERVER='<SPECKLE_SERVER>' --env SPECKLE_TOKEN='<SPECKLE_TOKEN>' -- uv --directory /path/to/speckle-mcp run speckle_server.py~/.codex/config.toml
[mcp_servers.speckle]
command = "uv"
args = ["--directory", "/path/to/speckle-mcp", "run", "speckle_server.py"]
env = { SPECKLE_SERVER = "<SPECKLE_SERVER>", SPECKLE_TOKEN = "<SPECKLE_TOKEN>" }
# codex mcp add speckle --env SPECKLE_SERVER='<SPECKLE_SERVER>' --env SPECKLE_TOKEN='<SPECKLE_TOKEN>' -- uv --directory /path/to/speckle-mcp run speckle_server.py~/.cursor/mcp.json
{
"mcpServers": {
"speckle": {
"command": "uv",
"args": [
"--directory",
"/path/to/speckle-mcp",
"run",
"speckle_server.py"
],
"env": {
"SPECKLE_SERVER": "<SPECKLE_SERVER>",
"SPECKLE_TOKEN": "<SPECKLE_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"speckle": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"/path/to/speckle-mcp",
"run",
"speckle_server.py"
],
"env": {
"SPECKLE_SERVER": "<SPECKLE_SERVER>",
"SPECKLE_TOKEN": "<SPECKLE_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"speckle": {
"command": "uv",
"args": [
"--directory",
"/path/to/speckle-mcp",
"run",
"speckle_server.py"
],
"env": {
"SPECKLE_SERVER": "<SPECKLE_SERVER>",
"SPECKLE_TOKEN": "<SPECKLE_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"speckle": {
"command": "uv",
"args": [
"--directory",
"/path/to/speckle-mcp",
"run",
"speckle_server.py"
],
"env": {
"SPECKLE_SERVER": "<SPECKLE_SERVER>",
"SPECKLE_TOKEN": "<SPECKLE_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"speckle": {
"command": "uv",
"args": [
"--directory",
"/path/to/speckle-mcp",
"run",
"speckle_server.py"
],
"env": {
"SPECKLE_SERVER": "<SPECKLE_SERVER>",
"SPECKLE_TOKEN": "<SPECKLE_TOKEN>"
}
}
}
}Environment variables
SPECKLE_SERVERSPECKLE_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.