Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
MCP server for connecting Claude with 3D printer management systems MCP 3D Printer Server $1 $1 $1 $1 $1 $1 $1 $1 <a href="https://glama.ai/mcp/servers/7f6v2enbgk"> <img width="380" height="200" src="https://glama.ai/mcp/servers/7f6v2enbgk/badge" alt="3D Printer Server MCP server" /> </a> <details> <summary><strong>✨ What's New / Significant Updates (as of last session)</strong></summary> - **Dual Local Transports:** Added explicit stdio and streamable-http runtime modes with environ Capability contract not published. No trust telemetry is available yet. 156 GitHub stars reported by the source. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
mcp-3d-printer-server is best for mcp, 3d-printer, octoprint workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB MCP, runtime-metrics, public facts pack
MCP server for connecting Claude with 3D printer management systems MCP 3D Printer Server $1 $1 $1 $1 $1 $1 $1 $1 <a href="https://glama.ai/mcp/servers/7f6v2enbgk"> <img width="380" height="200" src="https://glama.ai/mcp/servers/7f6v2enbgk/badge" alt="3D Printer Server MCP server" /> </a> <details> <summary><strong>✨ What's New / Significant Updates (as of last session)</strong></summary> - **Dual Local Transports:** Added explicit stdio and streamable-http runtime modes with environ
Public facts
5
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. 156 GitHub stars reported by the source. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 25, 2026
Vendor
Dmontgomery40
Artifacts
0
Benchmarks
0
Last release
1.2.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 156 GitHub stars reported by the source. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/DMontgomery40/mcp-3D-printer-server.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Dmontgomery40
Protocol compatibility
MCP
Adoption signal
156 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
npm install -g mcp-3d-printer-server
bash
git clone https://github.com/dmontgomery40/mcp-3d-printer-server.git cd mcp-3d-printer-server npm install npm link # Makes the command available globally
bash
docker-compose up --build -d
dockerfile
# ... other Dockerfile commands ... # Example: Install PrusaSlicer or OrcaSlicer (adjust command as needed) # Check Alpine package repositories first (e.g., apk add prusaslicer or apk add orcaslicer) # If not available, download and install manually (e.g., AppImage): # RUN apk add --no-cache fuse # FUSE might be needed for AppImages # RUN wget https://example.com/path/to/OrcaSlicer_Linux_Vxxxx.AppImage -O /usr/local/bin/orcaslicer && \ # chmod +x /usr/local/bin/orcaslicer # Set the SLICER_PATH env var accordingly in docker-compose.yml or when running # Example for installed executable: ENV SLICER_PATH=/usr/local/bin/orcaslicer # ... rest of Dockerfile ...
env
# Required for authentication with your printer management system API_KEY=your_api_key_here # Default printer connection settings PRINTER_HOST=localhost PRINTER_PORT=80 # Port for non-Bambu HTTP APIs PRINTER_TYPE=octoprint # Options: octoprint, klipper, duet, repetier, bambu, prusa, creality # Optional: Directory for temporary files TEMP_DIR=/path/to/temp/dir # Bambu Labs specific configuration BAMBU_SERIAL=your_printer_serial # REQUIRED for Bambu BAMBU_TOKEN=your_access_token # REQUIRED for Bambu # Slicer configuration (for slice_stl tool) SLICER_TYPE=prusaslicer # Options: prusaslicer, cura, slic3r, orcaslicer SLICER_PATH=/path/to/slicer/executable SLICER_PROFILE=/path/to/slicer/profile # Optional: Path to Bambu Studio user config dir (for loading presets) # Example macOS: /Users/your_user/Library/Application Support/BambuStudio/user/YOUR_USER_ID # Example Windows: C:\Users\your_user\AppData\Roaming\BambuStudio\user\YOUR_USER_ID # Example Linux: /home/your_user/.config/BambuStudio/user/YOUR_USER_ID BAMBU_STUDIO_CONFIG_PATH= # MCP transport configuration MCP_TRANSPORT=stdio # Options: stdio, streamable-http MCP_HTTP_HOST=127.0.0.1 MCP_HTTP_PORT=3000 MCP_HTTP_PATH=/mcp MCP_HTTP_STATEFUL=true MCP_HTTP_JSON_RESPONSE=true MCP_HTTP_ALLOWED_ORIGINS=http://localhost # Optional bridge command for blender_mcp_edit_model execute=true mode BLENDER_MCP_BRIDGE_COMMAND=
json
{
"mcpServers": {
"3dprint": {
"command": "mcp-3d-printer-server",
"env": {
"API_KEY": "your_api_key_here",
"PRINTER_HOST": "your_printer_ip",
"PRINTER_TYPE": "octoprint"
}
}
}
}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
MCP server for connecting Claude with 3D printer management systems MCP 3D Printer Server $1 $1 $1 $1 $1 $1 $1 $1 <a href="https://glama.ai/mcp/servers/7f6v2enbgk"> <img width="380" height="200" src="https://glama.ai/mcp/servers/7f6v2enbgk/badge" alt="3D Printer Server MCP server" /> </a> <details> <summary><strong>✨ What's New / Significant Updates (as of last session)</strong></summary> - **Dual Local Transports:** Added explicit stdio and streamable-http runtime modes with environ
stdio and streamable-http runtime modes with environment-based transport selection.startJob, setTemperature, and print_3mf.blender_mcp_edit_model with optional execution mode for model-edit collaboration workflows.initialize, tools/list, success + failing tools/call, origin rejection).getStatus for Bambu to subscribe to MQTT reports and maintain real-time state..3mf slicer config or user overrides for the MQTT print command..3mf Print Overrides: Add logic to the print_3mf tool to handle user-provided overrides (e.g., calibration flags) and potentially common slicer settings if feasible via MQTT/G-code..3mf file in the MQTT print command (optional but recommended by protocol).bambu-js FTP operations (getFiles, uploadFile) with direct MQTT methods if possible/stable, or contribute FTPS support to bambu-js..3mf Support: Add .3mf printing support for other printer types where applicable.This is a server that allows MCP users to connect with the API endpoints of these 3D Printers:
This server is a Model Context Protocol (MCP) server for connecting Claude with 3D printer management systems. It allows MCP to interact with 3D printers through the APIs of various printer management systems such as OctoPrint, Klipper (via Moonraker), Duet, Repetier, and Bambu Labs printers.
Note on Resource Usage: This MCP server includes advanced 3D model manipulation features that can be memory-intensive when working with large STL files. Please see the "Limitations and Considerations" section for important information about memory usage and performance.
.3mf files directly on Bambu Lab printers (via MQTT command)npm install -g mcp-3d-printer-server
git clone https://github.com/dmontgomery40/mcp-3d-printer-server.git
cd mcp-3d-printer-server
npm install
npm link # Makes the command available globally
You can also run the server using Docker and Docker Compose for a containerized environment.
.env.example to .env and configure your settings.docker-compose up --build -d
Please note that the default Docker setup cannot directly use a slicer installed on your host machine. Mounting the slicer executable directly from the host into the container is unreliable due to operating system and library differences between your host and the container.
The recommended approach is to install your preferred slicer inside the Docker image. This makes the container self-sufficient.
To do this, you will need to modify the Dockerfile. Here's a conceptual example of how you might add PrusaSlicer or OrcaSlicer (specific commands may vary depending on the slicer, its dependencies, and current Alpine packages):
# ... other Dockerfile commands ...
# Example: Install PrusaSlicer or OrcaSlicer (adjust command as needed)
# Check Alpine package repositories first (e.g., apk add prusaslicer or apk add orcaslicer)
# If not available, download and install manually (e.g., AppImage):
# RUN apk add --no-cache fuse # FUSE might be needed for AppImages
# RUN wget https://example.com/path/to/OrcaSlicer_Linux_Vxxxx.AppImage -O /usr/local/bin/orcaslicer && \
# chmod +x /usr/local/bin/orcaslicer
# Set the SLICER_PATH env var accordingly in docker-compose.yml or when running
# Example for installed executable:
ENV SLICER_PATH=/usr/local/bin/orcaslicer
# ... rest of Dockerfile ...
After modifying the Dockerfile, rebuild your image (docker-compose build). You'll also need to ensure the SLICER_PATH environment variable in your .env file or docker-compose.yml points to the correct path inside the container (e.g., /usr/local/bin/orcaslicer). Set SLICER_TYPE to orcaslicer as well.
Apologies for not including a specific slicer out-of-the-box, but given the wide variety of slicers (PrusaSlicer, OrcaSlicer, Cura, etc.) and configurations available, pre-installing one would unnecessarily bloat the image for many users. If a particular slicer becomes a very common request, I can certainly look into adding official support for it in a future version.
Create a .env file in the directory where you'll run the server or set environment variables:
# Required for authentication with your printer management system
API_KEY=your_api_key_here
# Default printer connection settings
PRINTER_HOST=localhost
PRINTER_PORT=80 # Port for non-Bambu HTTP APIs
PRINTER_TYPE=octoprint # Options: octoprint, klipper, duet, repetier, bambu, prusa, creality
# Optional: Directory for temporary files
TEMP_DIR=/path/to/temp/dir
# Bambu Labs specific configuration
BAMBU_SERIAL=your_printer_serial # REQUIRED for Bambu
BAMBU_TOKEN=your_access_token # REQUIRED for Bambu
# Slicer configuration (for slice_stl tool)
SLICER_TYPE=prusaslicer # Options: prusaslicer, cura, slic3r, orcaslicer
SLICER_PATH=/path/to/slicer/executable
SLICER_PROFILE=/path/to/slicer/profile
# Optional: Path to Bambu Studio user config dir (for loading presets)
# Example macOS: /Users/your_user/Library/Application Support/BambuStudio/user/YOUR_USER_ID
# Example Windows: C:\Users\your_user\AppData\Roaming\BambuStudio\user\YOUR_USER_ID
# Example Linux: /home/your_user/.config/BambuStudio/user/YOUR_USER_ID
BAMBU_STUDIO_CONFIG_PATH=
# MCP transport configuration
MCP_TRANSPORT=stdio # Options: stdio, streamable-http
MCP_HTTP_HOST=127.0.0.1
MCP_HTTP_PORT=3000
MCP_HTTP_PATH=/mcp
MCP_HTTP_STATEFUL=true
MCP_HTTP_JSON_RESPONSE=true
MCP_HTTP_ALLOWED_ORIGINS=http://localhost
# Optional bridge command for blender_mcp_edit_model execute=true mode
BLENDER_MCP_BRIDGE_COMMAND=
{
"mcpServers": {
"3dprint": {
"command": "mcp-3d-printer-server",
"env": {
"API_KEY": "your_api_key_here",
"PRINTER_HOST": "your_printer_ip",
"PRINTER_TYPE": "octoprint"
}
}
}
}
{
"mcpServers": {
"3dprint": {
"command": "mcp-3d-printer-server",
"env": {
"PRINTER_HOST": "your_printer_ip",
"PRINTER_TYPE": "bambu",
"BAMBU_SERIAL": "your_printer_serial",
"BAMBU_TOKEN": "your_access_token"
}
}
}
}
OctoPrint is a popular web interface for 3D printers. It provides a REST API for controlling the printer.
Klipper is a firmware for 3D printers that works with the Moonraker API server.
Duet is a control board for 3D printers with its own web interface (DuetWebControl).
Repetier-Server is a host software for 3D printers.
Bambu Lab printers use MQTT for status and control and FTP for file operations.
BAMBU_SERIAL and BAMBU_TOKEN)To connect to your Bambu Lab printer, you need two things:
Printer Serial Number:
Access Token:
Note: If your printer is not on the same local network or you can't find the access token, you may need to update your printer's firmware to the latest version to enable LAN Mode.
bambu-js library helper). Note: This FTP connection might be unsecured (plain FTP) based on current library limitations. Use with awareness of your network security.Prusa Connect is Prusa's own cloud-based solution for managing their printers.
Creality Cloud is Creality's management system for their printers.
Memory Usage Warning: The following STL manipulation tools load entire 3D models into memory. For large or complex STL files (>10MB), these operations can consume significant memory. When using these tools within the MCP environment, be mindful of memory constraints.
Get detailed information about an STL file, including dimensions, vertex count, and bounding box.
{
"stl_path": "/path/to/file.stl"
}
Extend the base of an STL file by a specified amount.
{
"stl_path": "/path/to/file.stl",
"extension_inches": 2
}
Scale an STL model uniformly or along specific axes.
{
"stl_path": "/path/to/file.stl",
"scale_factor": 1.5
}
Or for non-uniform scaling:
{
"stl_path": "/path/to/file.stl",
"scale_x": 1.2,
"scale_y": 1.0,
"scale_z": 1.5
}
Rotate an STL model around specific axes (in degrees).
{
"stl_path": "/path/to/file.stl",
"rotate_x": 45,
"rotate_y": 0,
"rotate_z": 90
}
Move an STL model along specific axes (in millimeters).
{
"stl_path": "/path/to/file.stl",
"translate_x": 10,
"translate_y": 5,
"translate_z": 0
}
Merge vertices that are closer than a specified tolerance. Helps close small gaps and can slightly simplify the mesh.
{
"stl_path": "/path/to/model.stl",
"tolerance": 0.01 // Optional, default = 0.01mm
}
Translate the model so the center of its bounding box is at the world origin (0,0,0).
{
"stl_path": "/path/to/model.stl"
}
Attempt to identify the largest flat surface of the model (that isn't already facing directly up or down) and rotate the model so this face is oriented downwards on the XY plane (Z=0). Useful for orienting models for printing.
{
"stl_path": "/path/to/model.stl"
}
Apply a specific transformation to a selected section of an STL file. This allows for detailed modifications of specific parts of a model.
{
"stl_path": "/path/to/file.stl",
"section": "top",
"transformation_type": "scale",
"value_x": 1.5,
"value_y": 1.5,
"value_z": 1.5
}
For custom section bounds:
{
"stl_path": "/path/to/file.stl",
"section": "custom",
"transformation_type": "rotate",
"value_x": 0,
"value_y": 0,
"value_z": 45,
"custom_min_x": -10,
"custom_min_y": 0,
"custom_min_z": -10,
"custom_max_x": 10,
"custom_max_y": 20,
"custom_max_z": 10
}
Generate an SVG visualization of an STL file from multiple angles (front, side, top, and isometric views).
{
"stl_path": "/path/to/file.stl",
"width": 400,
"height": 400
}
Slice an STL file to generate G-code.
{
"stl_path": "/path/to/file.stl",
"slicer_type": "prusaslicer",
"slicer_path": "/path/to/prusaslicer",
"slicer_profile": "/path/to/profile.ini"
}
Confirm temperature settings in a G-code file.
{
"gcode_path": "/path/to/file.gcode",
"extruder_temp": 200,
"bed_temp": 60
}
Process an STL file (extend base), slice it, confirm temperatures, and start printing.
{
"stl_path": "/path/to/file.stl",
"extension_inches": 2,
"extruder_temp": 200,
"bed_temp": 60,
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY"
}
Note: Automatic orientation for optimal printing (minimizing supports, etc.) is a complex task typically handled by slicer GUIs (like OrcaSlicer or PrusaSlicer) and is not implemented in this server.
</details> <details> <summary>Click to expand Printer Control Tools</summary>Get the current status of the 3D printer.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY"
}
For Bambu printers, this currently only confirms MQTT connection.
List files available on the printer.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY"
}
For Bambu printers, lists files in the gcodes directory via FTP.
Upload a G-code file to the printer.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY",
"filename": "my_print.gcode",
"gcode": "G28\nG1 X100 Y100 Z10 F3000\n...",
"print": true
}
For Bambu printers, uploads to the gcodes directory via FTP. Cannot start print automatically.
Start printing a file that is already on the printer.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY",
"filename": "my_print.gcode"
}
Not recommended for Bambu printers. Use print_3mf for Bambu .3mf files.
Cancel the current print job.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY"
}
For Bambu printers, sends the stop_print command via MQTT.
Set the temperature of a printer component.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY",
"component": "extruder",
"temperature": 200
}
Not supported for Bambu printers via direct MQTT commands.
</details> <details open> <summary>Click to expand Bambu-Specific Tools</summary>Uploads a .3mf file to a Bambu printer via FTP and initiates the print job via an MQTT command. Allows overriding some print parameters like AMS mapping.
{
"three_mf_path": "/path/to/your_model.3mf",
"host": "your_bambu_ip", // Optional if default is set
"bambu_serial": "YOUR_SERIAL", // Optional if default is set
"bambu_token": "YOUR_TOKEN", // Optional if default is set
// Optional Overrides:
"use_ams": true, // Default: true
"ams_mapping": [0, 1, 2, 3], // Array of AMS slot indices to use
"bed_leveling": true, // Default: true
"flow_calibration": false, // Default: false
"vibration_calibration": false, // Default: false
"timelapse": false // Default: false
}
Note: Overriding slicer settings like layer height or temperature via this tool is not supported by the printer's MQTT command. Apply those changes before generating the .3mf file.
printer://{host}/status - Current status of the 3D printer (limited for Bambu currently)printer://{host}/files - List of files available on the 3D printer (FTP for Bambu)printer://{host}/file/{filename} - Content of a specific G-code file (checks existence only for Bambu)If the BAMBU_STUDIO_CONFIG_PATH environment variable is set to your Bambu Studio user settings directory, you can read your saved presets.
preset://bambu/machine/{preset_name} - Reads a machine preset file (e.g., Bambu Lab P1S 0.4 nozzle.json)preset://bambu/filament/{preset_name} - Reads a filament preset file (e.g., Generic PLA.json)preset://bambu/process/{preset_name} - Reads a process preset file (e.g., 0.20mm Standard @BBL P1S.json)Example Usage:
"Read the content of my Bambu process preset named '0.16mm Optimal @BBL P1S'"
(Claude would call ReadResource with preset://bambu/process/0.16mm%20Optimal%20%40BBL%20P1S)
Here are some example commands you can give to Claude after connecting the MCP server:
~/Downloads/my_model.3mf on the Bambu printer."~/Desktop/calibration_cube.3mf to the Bambu printer using AMS slots 0 and 2, and turn off bed leveling."Due to the nature of the Bambu Lab printer API, there are some limitations:
Printable 3MF requirement: print_3mf requires a sliced 3MF that includes at least one Metadata/plate_<n>.gcode entry so the server can compute MD5 and start the job correctly.
AMS behavior caveat: The current bambu-js project-file command path always sends use_ams=true; passing use_ams=false is treated as best-effort and surfaced with a warning.
Temperature control path: Temperature updates are implemented through G-code command dispatch (M104/M140) over MQTT, so effective behavior still depends on printer firmware acceptance and current printer state.
File transfer channel: File operations use Bambu's FTPS path (port 990) via bambu-js. This is more secure than plain FTP, but still assumes a trusted local network environment and library-managed TLS behavior.
Direct start path scope: startJob currently targets .gcode files on printer storage; .3mf jobs should be initiated through print_3mf so metadata and plate selection are handled.
Status consistency: Status reads force a pushall refresh when possible, but complete real-time, event-stream status semantics across all Bambu models still need deeper hardening.
Last updated: 2026-02-24
MCP remains a high-value protocol for interoperability, but large tool surfaces have a real downside: tool schemas, retries, and tool-call traces can flood the context window. More tools often means more token overhead unless the execution model is disciplined.
Recent production workflows increasingly move orchestration out of conversational turns and into executable code loops. This keeps context leaner, makes behavior easier to audit, and improves reproducibility.
Core reading:
For practical day-to-day use, start with a codemode-oriented gateway and keep direct tool exposure narrow:
codemode-mcp: https://github.com/jx-codes/codemode-mcpEven with strong setup, model/tool usage can still be inconsistent across client versions and model releases, so retries and deterministic fallbacks are still required.
A high-signal pattern is converting broad MCP toolsets into targeted CLIs so the model calls fewer, better-defined commands:
This ecosystem changes quickly; if you are reading this later, parts of this section may already be stale.
Prompt injection is still an open problem for tool-using agents. It is manageable, but not solved.
Primary risks:
Practical mitigations:
Treat tool output as untrusted input by default.
| Badge | Description |
|-------|-------------|
| | The current version of the package on npm |
|
| This project is licensed under GPL-2.0 |
|
| This project is written in TypeScript 4.9+ |
|
| This project is actively maintained |
|
| We welcome contributions via Pull Requests |
|
| Requires Node.js 18.0.0 or higher |
|
| Number of downloads per month from npm |
|
| Number of GitHub stars this project has received |
GPL-2.0
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T05:15:58.170Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "3d-printer",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "octoprint",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "klipper",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "duet",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "repetier",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "bambu",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "prusa",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "creality",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "ender",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile capability:mcp|supported|profile capability:3d-printer|supported|profile capability:octoprint|supported|profile capability:klipper|supported|profile capability:duet|supported|profile capability:repetier|supported|profile capability:bambu|supported|profile capability:prusa|supported|profile capability:creality|supported|profile capability:ender|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Dmontgomery40",
"href": "https://github.com/DMontgomery40/mcp-3D-printer-server",
"sourceUrl": "https://github.com/DMontgomery40/mcp-3D-printer-server",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T02:57:43.472Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T02:57:43.472Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "156 GitHub stars",
"href": "https://github.com/DMontgomery40/mcp-3D-printer-server",
"sourceUrl": "https://github.com/DMontgomery40/mcp-3D-printer-server",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T02:57:43.472Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-dmontgomery40-mcp-3d-printer-server/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to mcp-3d-printer-server and adjacent AI workflows.