Robust MCP Server for FreeCAD integration with Claude Code and other AI assistants
Project description
FreeCAD Robust MCP Suite
An MCP (Model Context Protocol) server that enables integration between AI assistants (Claude, GPT, and other MCP-compatible tools) and FreeCAD, allowing AI-assisted development and debugging of 3D models, macros, and workbenches.
Also includes standalone FreeCAD macros for common tasks.
Table of Contents
- FreeCAD Robust MCP Suite
- Table of Contents
- Features
- Requirements
- For Users
- Robust MCP Server
- Installation
- Configuration
- Usage
- Available Tools
- Execution & Debugging (5 tools)
- Document Management (7 tools)
- Object Creation - Primitives (8 tools)
- Object Management (12 tools)
- PartDesign - Sketching (14 tools)
- PartDesign - Patterns & Edges (5 tools)
- View & Display (11 tools)
- Undo/Redo (3 tools)
- Export/Import (7 tools)
- Macro Management (6 tools)
- Parts Library (2 tools)
- FreeCAD Macros
- For Developers
- Robust MCP Server Development
- Macro Development
- Architecture
- Acknowledgements
- License
Features
- 82+ MCP Tools: Comprehensive CAD operations including primitives, PartDesign, booleans, export
- Multiple Connection Modes: XML-RPC (recommended), JSON-RPC socket, or embedded
- GUI & Headless Support: Full modeling in headless mode, plus screenshots/colors in GUI mode
- Macro Development: Create, edit, run, and template FreeCAD macros via MCP
- Standalone Macros: Useful FreeCAD macros that work independently of the Robust MCP Server
Requirements
- FreeCAD 0.21+ or 1.0+
- Python 3.11 (required for FreeCAD ABI compatibility)
For Users
This section covers installation and usage for end users who want to use the Robust MCP Server with AI assistants or the standalone FreeCAD macros.
Quick Links
| Resource | Description |
|---|---|
| Documentation | Full documentation, guides, and API reference |
| Docker Hub | Pre-built Docker images for easy deployment |
| PyPI | Python package for pip installation |
| GitHub Releases | Release archives, changelogs, and standalone macro downloads |
Robust MCP Server
Note: Since this repository has more than just the Robust MCP Server in it, the Linux container and PyPi projects releases are both simply named
freecad-robust-mcpwhich differs from the name of this git repository.
Installation
Using pip (recommended)
pip install freecad-robust-mcp
Using mise and just (from source)
git clone https://github.com/spkane/freecad-robust-mcp-and-more.git
cd freecad-robust-mcp-and-more
# Install mise via the Official mise installer script (if not already installed)
curl https://mise.run | sh
mise trust
mise install
just setup
Using Docker
Run the Robust MCP Server in a container. This is useful for isolated environments or when you don't want to install Python dependencies on your host.
# Pull from Docker Hub (when published)
docker pull spkane/freecad-robust-mcp
# Or build locally
git clone https://github.com/spkane/freecad-robust-mcp-and-more.git
cd freecad-robust-mcp-and-more
docker build -t freecad-robust-mcp .
# Or use just commands (if you have mise/just installed)
just docker::build # Build for local architecture
just docker::build-multi # Build multi-arch (amd64 + arm64)
Note: The containerized Robust MCP Server only supports xmlrpc and socket modes since FreeCAD runs on your host machine (not in the container). The container connects to FreeCAD via host.docker.internal.
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
FREECAD_MODE |
Connection mode: xmlrpc, socket, or embedded |
xmlrpc |
FREECAD_PATH |
Path to FreeCAD's lib directory (embedded mode only) | Auto-detect |
FREECAD_SOCKET_HOST |
Socket/XML-RPC server hostname | localhost |
FREECAD_SOCKET_PORT |
JSON-RPC socket server port | 9876 |
FREECAD_XMLRPC_PORT |
XML-RPC server port | 9875 |
FREECAD_TIMEOUT_MS |
Execution timeout in ms | 30000 |
Connection Modes
| Mode | Description | Platform Support |
|---|---|---|
xmlrpc |
Connects to FreeCAD via XML-RPC (port 9875) | All platforms (recommended) |
socket |
Connects via JSON-RPC socket (port 9876) | All platforms |
embedded |
Imports FreeCAD directly into process | Linux only (crashes on macOS) |
Note: Embedded mode crashes on macOS because FreeCAD's FreeCAD.so links to @rpath/libpython3.11.dylib, which conflicts with external Python interpreters. Use xmlrpc or socket mode on macOS and Windows.
MCP Client Configuration
Add something like the following to your MCP client settings. For Claude Code, this is ~/.claude/claude_desktop_config.json or a project .mcp.json file:
{
"mcpServers": {
"freecad": {
"command": "freecad-mcp",
"env": {
"FREECAD_MODE": "xmlrpc"
}
}
}
}
If installed from source with mise/uv:
{
"mcpServers": {
"freecad": {
"command": "/path/to/mise/shims/uv",
"args": ["run", "--project", "/path/to/freecad-robust-mcp-and-more", "freecad-mcp"],
"env": {
"FREECAD_MODE": "xmlrpc"
}
}
}
}
If using Docker:
{
"mcpServers": {
"freecad": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"--add-host=host.docker.internal:host-gateway",
"-e", "FREECAD_MODE=xmlrpc",
"-e", "FREECAD_SOCKET_HOST=host.docker.internal",
"spkane/freecad-robust-mcp"
]
}
}
}
Docker configuration notes:
--rmremoves the container after it exits-ikeeps stdin open for MCP communication--add-host=host.docker.internal:host-gatewayallows the container to connect to FreeCAD on your host (Linux only; macOS/Windows have this built-in)FREECAD_SOCKET_HOST=host.docker.internaltells the Robust MCP Server to connect to FreeCAD on your host machine
Usage
Starting the MCP Bridge in FreeCAD
Before your AI assistant can connect, you need to start the MCP bridge inside FreeCAD:
Option A: Using the Workbench (Recommended)
-
Install the Robust MCP Bridge workbench via FreeCAD's Addon Manager:
- Edit -> Preferences -> Addon Manager
- Search for "Robust MCP Bridge"
- Install and restart FreeCAD
-
Start the bridge:
- Switch to the Robust MCP Bridge workbench
- Click the Start MCP Bridge button in the toolbar
- Or use the menu: MCP Bridge -> Start Bridge
-
You should see in the FreeCAD console:
MCP Bridge started! - XML-RPC: localhost:9875 - Socket: localhost:9876
Option B: Using just commands (from source)
# Start FreeCAD with MCP bridge auto-started
just freecad::run-gui
# Or for headless/automation mode:
just freecad::run-headless
After starting the bridge, start/restart your MCP client (Claude Code, etc.) - it will connect automatically
Uninstalling the MCP Bridge
To uninstall the Robust MCP Bridge workbench:
- Open FreeCAD
- Go to Edit -> Preferences -> Addon Manager
- Find "Robust MCP Bridge" in the list
- Click Uninstall
- Restart FreeCAD
Checking for Legacy Components
If you previously used older versions of this project, you may have legacy components installed. Run this command to check what's installed and get cleanup instructions:
just install::status
Manual Cleanup (if needed)
Remove any legacy files that may conflict with the workbench:
# macOS - remove legacy plugin and macro
rm -rf ~/Library/Application\ Support/FreeCAD/Mod/MCPBridge/
rm -f ~/Library/Application\ Support/FreeCAD/Macro/StartMCPBridge.FCMacro
# Linux - remove legacy plugin and macro
rm -rf ~/.local/share/FreeCAD/Mod/MCPBridge/
rm -f ~/.local/share/FreeCAD/Macro/StartMCPBridge.FCMacro
Running Modes
XML-RPC Mode (Recommended)
Connects to a running FreeCAD instance via XML-RPC. Works on all platforms.
FREECAD_MODE=xmlrpc freecad-mcp
Socket Mode (JSON-RPC)
Connects via JSON-RPC socket. Works on all platforms.
FREECAD_MODE=socket freecad-mcp
Headless Mode
Run FreeCAD in console mode without GUI. Useful for automation.
# If installed from source:
just freecad::run-headless
Note: Screenshot and view features are not available in headless mode.
Embedded Mode (Linux Only)
Runs FreeCAD in-process. Only works on Linux - crashes on macOS/Windows.
FREECAD_MODE=embedded freecad-mcp
Available Tools
The Robust MCP Server provides 83 tools organized into categories. Tools marked with GUI require FreeCAD to be running in GUI mode; they will return an error in headless mode.
Execution & Debugging (5 tools)
| Tool | Description | Mode |
|---|---|---|
execute_python |
Execute arbitrary Python code in FreeCAD's context | All |
get_freecad_version |
Get FreeCAD version, build date, and Python version | All |
get_connection_status |
Check MCP bridge connection status and latency | All |
get_console_output |
Get recent FreeCAD console output (up to N lines) | All |
get_mcp_server_environment |
Get Robust MCP Server environment (OS, hostname, instance_id) | All |
Document Management (7 tools)
| Tool | Description | Mode |
|---|---|---|
list_documents |
List all open documents with metadata | All |
get_active_document |
Get information about the active document | All |
create_document |
Create a new FreeCAD document | All |
open_document |
Open an existing .FCStd file | All |
save_document |
Save a document to disk | All |
close_document |
Close a document (with optional save) | All |
recompute_document |
Force recomputation of all objects | All |
Object Creation - Primitives (8 tools)
| Tool | Description | Mode |
|---|---|---|
create_object |
Create a generic FreeCAD object by type ID | All |
create_box |
Create a Part::Box with length, width, height | All |
create_cylinder |
Create a Part::Cylinder with radius, height, angle | All |
create_sphere |
Create a Part::Sphere with radius | All |
create_cone |
Create a Part::Cone with two radii and height | All |
create_torus |
Create a Part::Torus (donut) with radii and angles | All |
create_wedge |
Create a Part::Wedge (tapered box) | All |
create_helix |
Create a Part::Helix curve for sweeps and threads | All |
Object Management (12 tools)
| Tool | Description | Mode |
|---|---|---|
list_objects |
List all objects in a document | All |
inspect_object |
Get detailed object info (properties, shape, etc.) | All |
edit_object |
Modify properties of an existing object | All |
delete_object |
Delete an object from a document | All |
set_placement |
Set object position and rotation | All |
scale_object |
Scale an object uniformly or non-uniformly | All |
rotate_object |
Rotate an object around an axis | All |
copy_object |
Create a copy of an object | All |
mirror_object |
Mirror an object across a plane (XY, XZ, YZ) | All |
boolean_operation |
Fuse, cut, or intersect objects | All |
get_selection |
Get currently selected objects | GUI |
set_selection |
Select specific objects by name | GUI |
clear_selection |
Clear all selections | GUI |
PartDesign - Sketching (14 tools)
| Tool | Description | Mode |
|---|---|---|
create_partdesign_body |
Create a PartDesign::Body container | All |
create_sketch |
Create a sketch on a plane or face | All |
add_sketch_rectangle |
Add a rectangle to a sketch | All |
add_sketch_circle |
Add a circle to a sketch | All |
add_sketch_line |
Add a line (with optional construction flag) | All |
add_sketch_arc |
Add an arc by center, radius, and angles | All |
add_sketch_point |
Add a point (useful for hole centers) | All |
pad_sketch |
Extrude a sketch (additive) | All |
pocket_sketch |
Cut into solid using a sketch (subtractive) | All |
revolution_sketch |
Revolve a sketch around an axis (additive) | All |
groove_sketch |
Revolve a sketch around an axis (subtractive) | All |
create_hole |
Create parametric holes with optional threading | All |
loft_sketches |
Create a loft through multiple sketches | All |
sweep_sketch |
Sweep a profile along a spine path | All |
PartDesign - Patterns & Edges (5 tools)
| Tool | Description | Mode |
|---|---|---|
linear_pattern |
Create linear pattern of a feature | All |
polar_pattern |
Create polar/circular pattern of a feature | All |
mirrored_feature |
Mirror a feature across a plane | All |
fillet_edges |
Add fillets (rounded edges) | All |
chamfer_edges |
Add chamfers (beveled edges) | All |
View & Display (11 tools)
| Tool | Description | Mode |
|---|---|---|
get_screenshot |
Capture a screenshot of the 3D view | GUI |
set_view_angle |
Set camera to standard views (Front, Top, etc.) | GUI |
fit_all |
Zoom to fit all objects in view | GUI |
zoom_in |
Zoom in by a factor | GUI |
zoom_out |
Zoom out by a factor | GUI |
set_camera_position |
Set camera position and look-at point | GUI |
set_object_visibility |
Show/hide objects | GUI |
set_display_mode |
Set display mode (Shaded, Wireframe, etc.) | GUI |
set_object_color |
Set object color as RGB values | GUI |
list_workbenches |
List available FreeCAD workbenches | All |
activate_workbench |
Switch to a different workbench | All |
Undo/Redo (3 tools)
| Tool | Description | Mode |
|---|---|---|
undo |
Undo the last operation | All |
redo |
Redo a previously undone operation | All |
get_undo_redo_status |
Get available undo/redo operations | All |
Export/Import (7 tools)
| Tool | Description | Mode |
|---|---|---|
export_step |
Export to STEP format (ISO CAD exchange) | All |
export_stl |
Export to STL format (3D printing) | All |
export_3mf |
Export to 3MF format (modern 3D printing) | All |
export_obj |
Export to OBJ format (Wavefront) | All |
export_iges |
Export to IGES format (older CAD exchange) | All |
import_step |
Import a STEP file | All |
import_stl |
Import an STL file as mesh | All |
Macro Management (6 tools)
| Tool | Description | Mode |
|---|---|---|
list_macros |
List all available FreeCAD macros | All |
run_macro |
Execute a macro by name | All |
create_macro |
Create a new macro file | All |
read_macro |
Read macro source code | All |
delete_macro |
Delete a user macro | All |
create_macro_from_template |
Create macro from template (basic, part, etc.) | All |
Parts Library (2 tools)
| Tool | Description | Mode |
|---|---|---|
list_parts_library |
List parts in FreeCAD's parts library | All |
insert_part_from_library |
Insert a part from the library | All |
FreeCAD Macros
This project includes standalone FreeCAD macros that can be used independently of the Robust MCP Server. These are useful for FreeCAD users who want the macros without setting up the full MCP integration.
Downloading Macros
Pre-packaged macro archives are available with each release:
- Go to the Releases page
- Download the macro archive for your platform:
freecad-macros-X.Y.Z.tar.gz(Linux/macOS)freecad-macros-X.Y.Z.zip(Windows)
- Extract and copy the
.FCMacrofiles to your FreeCAD macro directory:- macOS:
~/Library/Application Support/FreeCAD/Macro/ - Linux:
~/.local/share/FreeCAD/Macro/ - Windows:
%APPDATA%/FreeCAD/Macro/
- macOS:
- (Optional) Copy the
.svgicon files to the same directory for custom icons in FreeCAD's macro menu
CutObjectForMagnets
Intelligently cuts 3D objects along a plane and automatically places magnet holes with built-in surface penetration detection. Perfect for creating multi-part prints that snap together with magnets.
Features:
- Smart surface detection - skips holes that would penetrate outer surfaces
- Supports preset planes (XY, XZ, YZ) or custom datum planes for angled cuts
- Count-based hole placement with even distribution
- Dual-part validation ensures alignment
- Non-destructive (original object is hidden, not deleted)
Installation:
# If you have the source:
just install-cut-macro
# Or manually copy CutObjectForMagnets.FCMacro from macros/Cut_Object_for_Magnets/
# to your FreeCAD macro directory:
# macOS: ~/Library/Application Support/FreeCAD/Macro/
# Linux: ~/.local/share/FreeCAD/Macro/
# Windows: %APPDATA%/FreeCAD/Macro/
Usage:
- Open your model in FreeCAD
- Select the object to cut
- Go to Macro -> Macros... -> CutObjectForMagnets -> Execute
- Configure the cut plane and magnet hole parameters
- Click Execute Cut
Parameters:
- Plane: XY, XZ, YZ, or a model datum plane
- Offset: Distance from origin (for preset planes)
- Hole diameter: Size of magnet holes (e.g., 6.2mm for 6mm magnets)
- Hole depth: How deep holes go into each piece
- Number of holes: Total holes to create (evenly distributed)
- Edge clearance: Distance from hole edge to outer surface
See macros/Cut_Object_for_Magnets/README-CutObjectForMagnets.md for detailed documentation.
Uninstall:
just uninstall-cut-macro
MultiExport
Export selected FreeCAD objects to multiple file formats simultaneously. Supports 8 formats with a convenient checkbox dialog and smart defaults.
Features:
- Export to 8 formats: STL, STEP, 3MF, OBJ, IGES, BREP, PLY, AMF
- Smart defaults: STL, STEP, and 3MF pre-selected
- Intelligent path defaults based on document location
- Configurable mesh quality (tolerance and deflection)
- Real-time file preview before export
- Multi-object batch export support
Installation:
# If you have the source:
just install::macro-export
# Or manually copy MultiExport.FCMacro from macros/Multi_Export/
# to your FreeCAD macro directory:
# macOS: ~/Library/Application Support/FreeCAD/Macro/
# Linux: ~/.local/share/FreeCAD/Macro/
# Windows: %APPDATA%/FreeCAD/Macro/
Usage:
- Select one or more objects in FreeCAD (Ctrl+click for multiple)
- Go to Macro -> Macros... -> MultiExport -> Execute
- Choose export formats (checkboxes)
- Set output directory and base filename
- Adjust mesh quality if needed
- Click Export
Supported Formats:
| Format | Extension | Default | Description |
|---|---|---|---|
| STL | .stl |
Yes | Standard 3D printing format |
| STEP | .step |
Yes | CAD interchange (preserves geometry) |
| 3MF | .3mf |
Yes | Modern 3D printing with metadata |
| OBJ | .obj |
No | 3D graphics and game engines |
| IGES | .iges |
No | Legacy CAD interchange |
| BREP | .brep |
No | OpenCASCADE native format |
| PLY | .ply |
No | Polygon file for 3D scanning |
| AMF | .amf |
No | Additive manufacturing format |
See macros/Multi_Export/README-MultiExport.md for detailed documentation.
Uninstall:
just freecad::uninstall-export-macro
For Developers
This section covers development setup, contributing, and working with the codebase.
Robust MCP Server Development
Prerequisites
Initial Setup
# Clone the repository
git clone https://github.com/spkane/freecad-robust-mcp-and-more.git
cd freecad-robust-mcp-and-more
# Install mise via the Official mise installer script (if not already installed)
curl https://mise.run | sh
# Install all tools (Python 3.11, uv, just, pre-commit)
mise trust
mise install
# Set up the development environment
just setup
This installs:
- Python 3.11 - Required for FreeCAD ABI compatibility
- uv - Fast Python package manager
- just - Command runner for development workflows
- pre-commit - Git hooks for code quality
MCP Client Configuration (Development)
Create a .mcp.json file in the project directory:
{
"mcpServers": {
"freecad": {
"command": "/path/to/mise/shims/uv",
"args": ["run", "--project", "/path/to/freecad-robust-mcp-and-more", "freecad-mcp"],
"env": {
"FREECAD_MODE": "xmlrpc",
"FREECAD_SOCKET_HOST": "localhost",
"FREECAD_XMLRPC_PORT": "9875",
"PATH": "/path/to/mise/shims:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}
Replace the paths with your actual paths:
| Placeholder | Description | Example |
|---|---|---|
/path/to/mise/shims/uv |
Full path to uv via mise shims | ~/.local/share/mise/shims/uv |
/path/to/freecad-robust-mcp-and-more |
Project directory | /home/me/dev/freecad-robust-mcp-and-more |
/path/to/mise/shims |
mise shims directory for PATH | ~/.local/share/mise/shims |
Finding your mise shims path:
mise where uv | sed 's|/installs/.*|/shims|'
# Example: /home/user/.local/share/mise/shims (on Linux) or ~/.local/share/mise/shims (on macOS)
Development Workflow
Commands are organized into modules. Use just to see top-level commands, or just list-<module> to see module-specific commands.
# Show top-level commands and available modules
just
# Show commands in a specific module
just list-mcp # Robust MCP Server commands
just list-freecad # FreeCAD plugin/macro commands
just list-install # Installation commands
just list-quality # Code quality commands
just list-testing # Test commands
just list-docker # Docker commands
just list-documentation # Documentation commands
just list-dev # Development utilities
# List ALL commands from all modules
just list-all
# Install/update dependencies
just install::mcp-server
# Run all checks (linting, type checking, tests)
just all
# Quality commands
just quality::lint # Run ruff linter
just quality::typecheck # Run mypy type checker
just quality::format # Format code
just quality::check # Run all pre-commit hooks
# Testing commands
just testing::unit # Run unit tests
just testing::cov # Run tests with coverage
just testing::integration # Run integration tests
# Run the Robust MCP Server (or with debug logging)
just mcp::run
just mcp::run-debug
# Docker commands
just docker::build # Build image for local architecture
just docker::build-multi # Build multi-arch image (amd64 + arm64)
just docker::run # Run container
Running FreeCAD with the MCP Bridge
GUI Mode (recommended for development)
# Start FreeCAD with auto-started bridge
just freecad::run-gui
Headless Mode (for automation/CI)
just freecad::run-headless
Running Tests
# Unit tests only (no FreeCAD required)
just testing::unit
# Unit tests with coverage
just testing::cov
# Integration tests (requires running FreeCAD bridge)
just testing::integration
# Integration tests with automatic FreeCAD startup
just testing::integration-auto
Code Quality
The project uses strict code quality checks via pre-commit:
- Ruff - Linting and formatting
- MyPy - Type checking
- Bandit - Security scanning
- Codespell - Spell checking
- Secrets scanning - Gitleaks, detect-secrets, TruffleHog
# Run all pre-commit hooks
just quality::check
# Run security/secrets scans
just quality::security
just quality::secrets
Macro Development
CutObjectForMagnets Macro
Location: macros/Cut_Object_for_Magnets/
Installation for development:
just install::macro-cut
Uninstall:
just install::uninstall-macro-cut
See macros/Cut_Object_for_Magnets/README-CutObjectForMagnets.md for detailed documentation on the macro's internals.
MultiExport Macro
Location: macros/Multi_Export/
Installation for development:
just install::macro-export
Uninstall:
just install::uninstall-macro-export
See macros/Multi_Export/README-MultiExport.md for detailed documentation on the macro's internals.
Architecture
See the detailed architecture document for design documentation covering:
- Module structure
- Bridge communication protocols
- Tool registration patterns
- FreeCAD plugin architecture
Acknowledgements
This project was developed after analyzing several existing FreeCAD Robust MCP implementations. We are grateful to these projects for their pioneering work and the ideas they contributed to the FreeCAD + AI ecosystem:
Related Projects
-
neka-nat/freecad-mcp (MIT License) - The queue-based thread safety pattern and XML-RPC protocol design (port 9875) were directly inspired by this project. Our implementation maintains protocol compatibility while being a complete rewrite with additional features.
-
jango-blockchained/mcp-freecad - Inspired our connection recovery mechanisms and multi-mode architecture approach.
-
contextform/freecad-mcp - Informed our comprehensive PartDesign and Part workbench tool coverage.
-
ATOI-Ming/FreeCAD-MCP - Inspired our macro development toolkit including templates, validation, and automatic imports.
-
bonninr/freecad_mcp - Influenced our simple socket-based communication approach.
See docs/COMPARISON.md for a detailed analysis of these implementations and the design decisions they informed.
License
MIT License - see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file freecad_robust_mcp-0.6.1.tar.gz.
File metadata
- Download URL: freecad_robust_mcp-0.6.1.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
098f29864163de5bb249d7f0a510f962a8ff4c76bd6b955865cf6a1571df9928
|
|
| MD5 |
c4d5ec10a859e1994a7c1393c0555089
|
|
| BLAKE2b-256 |
e5d3d22564db237bb2a061288faf49a77a526d2e7192252e819e294c952d21aa
|
Provenance
The following attestation bundles were made for freecad_robust_mcp-0.6.1.tar.gz:
Publisher:
mcp-server-release.yaml on spkane/freecad-robust-mcp-and-more
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
freecad_robust_mcp-0.6.1.tar.gz -
Subject digest:
098f29864163de5bb249d7f0a510f962a8ff4c76bd6b955865cf6a1571df9928 - Sigstore transparency entry: 815318869
- Sigstore integration time:
-
Permalink:
spkane/freecad-robust-mcp-and-more@b896a69b842d9d8d759202d1082cf418e1338880 -
Branch / Tag:
refs/tags/robust-mcp-server-v0.6.1 - Owner: https://github.com/spkane
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
mcp-server-release.yaml@b896a69b842d9d8d759202d1082cf418e1338880 -
Trigger Event:
push
-
Statement type:
File details
Details for the file freecad_robust_mcp-0.6.1-py3-none-any.whl.
File metadata
- Download URL: freecad_robust_mcp-0.6.1-py3-none-any.whl
- Upload date:
- Size: 83.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0893094381891927dab35615a0d8645cdfc761ca1befe87d0fcd61cc918e1bb
|
|
| MD5 |
b302f3f84a8474b3a763349671f56037
|
|
| BLAKE2b-256 |
639b568b7e062622fdf2f9b1c10f6d6844dc3e3c08a69a0786185488cf604179
|
Provenance
The following attestation bundles were made for freecad_robust_mcp-0.6.1-py3-none-any.whl:
Publisher:
mcp-server-release.yaml on spkane/freecad-robust-mcp-and-more
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
freecad_robust_mcp-0.6.1-py3-none-any.whl -
Subject digest:
e0893094381891927dab35615a0d8645cdfc761ca1befe87d0fcd61cc918e1bb - Sigstore transparency entry: 815318880
- Sigstore integration time:
-
Permalink:
spkane/freecad-robust-mcp-and-more@b896a69b842d9d8d759202d1082cf418e1338880 -
Branch / Tag:
refs/tags/robust-mcp-server-v0.6.1 - Owner: https://github.com/spkane
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
mcp-server-release.yaml@b896a69b842d9d8d759202d1082cf418e1338880 -
Trigger Event:
push
-
Statement type: