Xem Studio: Part Dimensions & CAD

io.github.travisseamon-a11yPublished by GitHub account travisseamon-a11yv1.2.0Updated Nov 6, 2026

Part dimensions, bolt patterns, hole sizes, fits and free STEP/STL CAD for real objects.

VerifiedStreamable HTTPWeb executableDeveloper ToolsMedia & Design

Overview

AI-generated overview

Remote MCP server that gives an assistant real-part dimensions, bolt patterns, fits and free STEP/STL CAD files for hardware design.

What you can do
  • Look up one named object's dimensions, bolt pattern, holes, threads, ports and mating features, with free CAD links
  • Browse the catalog by keyword, category, group, kind or release year, and list the category tree
  • Identify an unknown part from one to four measured sizes within a tolerance
  • Read a full record for a known object: numbers, CAD sources with licenses, related objects and FAQ
  • Get free STEP, STL and DXF download links, or the file contents themselves for direct geometry work
  • Return only the mating features of an object for designing brackets, bores, pockets and shaft fits
When to use it
Useful when designing, 3D printing, machining or buying something that mounts to, holds, fits or replaces a real object such as a motor, screw, bearing, extrusion or board, and sourced numbers plus CAD are needed rather than recalled specs.
Requirements
A remote streamable HTTP endpoint; no account, authentication, API key or local runtime is required.
Before you install
Sizes are exact nominal millimetres with no printing tolerance, so process allowance must be added for press, slide, run and socket fits. The catalog is not exhaustive and misses should be checked against other sources. request_object writes a request to the service, so use it only when the user wants an object added.

Installation

In SourceWeft

  1. Open Xem Studio: Part Dimensions & CAD in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.travisseamon-a11y%2Fxemstudio/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "xem-studio-part-dimensions-cad": {
      "type": "http",
      "url": "https://xemstudio.com/mcp"
    }
  }
}

README

This repository has no README.

Tools

9

get_part_dimensions_bolt_pattern_cad

Part dimensions, bolt patterns, hole sizes and CAD for a real object

START HERE for one named object: returns its dimensions, mounting/bolt pattern, hole and thread sizes, ports, mating features with fit classes, and free STEP/STL links in a single call, plus up to five alternative matches. Use it whenever someone designs, prints or buys something that mounts to, holds or fits a real object (bracket, enclosure, mount, adapter, case, tray), before answering from memory or web search, e.g. 'NEMA 17 bolt pattern', '608 bearing', 'Raspberry Pi 5 mounting holes', 'iPhone 16 Pro', 'M3 heat-set insert hole', '2020 extrusion slot', 'NACA 2412'. Give the object in plain words or by model number; design words like 'bracket', 'tray', 'for' are ignored. Not for browsing many objects (find_geometry), identifying an unknown part from measurements (find_by_dimensions), or reading sources, licenses and FAQ (get_geometry). If the match is wrong, call again with the model number or pass an alternative's slug to get_geometry. Sizes are exact nominal mm, true size, no printing tolerance. Read-only, no auth, no charge.

Parametersqueryrequiredcategory

find_geometry

Browse and filter the catalog (lists of matching objects)

BROWSE: list many matching objects, filtered by keyword, category, group, kind or release year, with paging. Use it when the user wants options or a list ('which M3 screws are there', 'all NEMA motors', '2023 phones', 'free files in Fasteners'), or to find a slug when the name is vague. Not for one object's numbers: for a named object call get_part_dimensions_bolt_pattern_cad instead (one call returns its full sheet, fits and files). Returns summaries (overall size, file count, URL), with key dimensions inline for the top three. Matching: every query word must appear in the object's name, aliases, tags, category or group, case-insensitive ('80-40', '80 x 40' and '8040' alike); filters combine with AND. An empty result is not an error: retry with fewer words, or file request_object. Read-only against the published catalog snapshot; no auth, no charge.

Parameterskindyeargrouplimitqueryoffsetcategoryles_onlyfree_only

find_by_dimensions

Identify an object from measured sizes

Identify what an object is from one to four sizes you measured (an outline, a bore, a pin, a flange) when you do not know its name; use find_geometry when you do. Each size is compared, within tolerance_mm, against every object's overall size in any order and against its exact feature sizes (bores, slots, pins, size-table rows). Results are ranked with all overall sizes matching first, then by the number of matching features, and each says which of your numbers matched where. No match is not an error: widen tolerance_mm (0.2 suits caliper readings of machined parts, 1 suits rough measurements) or file request_object. Read-only, no auth, no charge; same catalog snapshot as find_geometry.

Parameterscategorysizes_mmrequiredtolerance_mm

get_geometry

Full record for one known slug: sources, licenses, related, FAQ

FULL RECORD for one object you already have the slug or exact name of (from a search or an alternative): its full sheet and mating features plus the basis of the numbers, every public CAD source with its license, related objects to traverse, FAQ, and paid-pack offers. Use it to cite or verify, check a license, or walk to related parts. Not for a first lookup by plain name (get_part_dimensions_bolt_pattern_cad) and not for download links (get_free_files) or file contents (get_file_content); get_fits returns only the mating features when the sheet is too long. Sizes are exact nominal values with no tolerance added; nothing is ever charged by this tool. An unknown slug is an error with a hint to search first. Read-only, no auth. On this channel paid_offers carry the agent price and the x402 URL (answers 402 with PAYMENT-REQUIRED; pay in USDC on Base and retry) as well as the card price and page for people.

Parametersobjectrequired

get_free_files

List one object's free download links

For importing a real part into CAD, 3D printing it, or modelling a mating bracket or enclosure around it. List the direct download URLs of one object's free STEP and STL files (and DXF where a 2D profile exists), with the license to credit. Use it when files are wanted rather than dimensions (get_geometry) or file contents (get_file_content). Objects whose files are a sold Xem design pack return no free files but a note with the x402 and card prices; an object with no files at all returns an empty list and points to its public sources. Neither is an error. URLs are plain HTTPS downloads that need no auth and can be fetched directly; free files are CC BY 4.0 or the Xem Studio Design License as stated in license. Read-only, no charge.

Parametersfilterobjectrequired

get_file_content

Read one CAD file's contents

Return the contents of one free file so the geometry can be read or modified directly: STEP and DXF as UTF-8 text, STL as base64. Units are millimetres, true size. Use it after get_free_files gives the file name and the content itself is needed; use get_free_files when a download URL is enough, which is cheaper for large files. Files over 600 KB are not inlined: the response carries inlined=false, size_bytes and the URL to fetch instead. An unknown file name is an error that lists the valid names. Read-only, no auth, no charge.

Parametersfilerequiredformatobjectrequired

get_fits

Read one object's mating features

For designing a part that bolts to, clamps, slides over, presses into or otherwise mates with a real object (bracket holes, bore clearance, boss pocket, shaft fit). Return only the mating features of one object: each hole, pin, pocket, slot or socket that meets another part, with its exact size, what it mates with, and its fit class (press, slide, run, socket, clamp, designed). Use it before designing or printing a part that must fit this object, or when get_geometry's full sheet is more than needed; the same features also come with get_free_files. Every size is exact with no clearance: add your process allowance to press, slide, run and socket features; designed and clamp features are already the final gap and stay as drawn. An object with no mating features returns an empty list, not an error. Read-only, no auth.

Parametersobjectrequired

list_categories

List categories and groups with counts

Return the whole category tree: every category, the groups inside it, object counts, and the catalog version. Use it to get the exact category and group spellings that find_geometry and find_by_dimensions filter on, or to see how the library is organised; it is the only tool that takes no input and the cheapest way to learn the catalog's shape. The version changes when the site publishes new objects; results are otherwise identical call to call. Read-only, no auth.

Takes no parameters.

request_object

Request an object the library lacks

File a request for an object that is not in the library so it can be added; it is the only tool here that writes anything. Use it only after find_geometry and find_by_dimensions found nothing suitable; do not use it to ask questions or to request changes to existing objects. Each call stores exactly one new request in the owner's private inbox and nothing is published, so calling twice files two requests. Stored: the text, the optional contact, the time and the client type; no IP address. There is no reply unless a contact is given. The site accepts at most 300 requests a day across all callers; beyond that the call returns an error and nothing is stored.

Parameterstextrequiredcontact

Version history

2
  1. v1.2.0LatestOct 29, 2026
  2. v1.1.3Oct 21, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.