iFixit MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| search_guidesA | Search iFixit's catalog for repair guides (and other content types). Returns up to 10 results as {"query": ..., "results": [...]}. Guide results are compacted to {guideid, title, url, type, difficulty, summary} with summary truncated to 200 characters; other result types (wiki, question, product) pass through as returned by the API. Use the device parameter to scope results to a specific device (e.g. "iPhone 13"). Search results are volatile and never cached. Args: query: Free-text search query (e.g. "battery replacement"). device: Restrict results to a single device by name (maps to the API's guideDevice parameter). doctypes: Comma-separated result types: guide, item, topic, device, category, question, post, or all (default "guide"). lang: Optional language code (e.g. "de") for localized results (maps to the API's langid parameter). Note: Data from iFixit (CC BY-NC-SA). Non-commercial use only. |
| get_guideA | Fetch a repair guide by id. With detail="summary" (default) returns the guide's metadata, parts and tools lists, and step titles only — a compact overview (steps with empty titles fall back to the first line's text). With detail="full" returns everything (steps with rendered text converted to plain text). max_steps truncates the steps list; note it only applies when detail="full" — in summary mode the client ignores it, so the combination is accepted but has no effect. WARNING: detail="full" guides can exceed 250KB of text — prefer detail="summary" or set max_steps for large guides. Args: guideid: The guide id (e.g. 1220 or "1220"). detail: One of "summary" (default) or "full". max_steps: Maximum number of steps to include when detail="full" (e.g. 10 or "10"). lang: Optional language code (e.g. "de") for a localized guide (maps to the API's langid parameter). Note: Data from iFixit (CC BY-NC-SA). Non-commercial use only. |
| browse_categoriesA | Browse iFixit's device category tree. With no path, returns the ~16 top-level category names (e.g. Mac, Phone, Game Console). With a path ("Mac" or "Mac/Mac Laptop"), navigates the nested tree and returns that subtree's child category names. A leaf or empty subtree yields an empty list. Only category names are returned — the raw tree is ~1.5MB and never leaves the client. Args: path: Optional slash-separated category path to descend into (e.g. "Mac" or "Mac/Mac Laptop"); an empty string means the top level. Note: Data from iFixit (CC BY-NC-SA). Non-commercial use only. |
| get_deviceA | Get a compact overview of a device wiki page. Returns {title, display_title, repairability_score (when iFixit has published one), summary (first 500 chars), featured_guides (title/guideid/url only), children (names only), parts_count, tools_count, ancestors (breadcrumb names)}. The raw wiki page can be ~238KB; this projection keeps the response small for context budgets. Args: title: The device title (e.g. "iPhone"). Note: Data from iFixit (CC BY-NC-SA). Non-commercial use only. |
| list_device_guidesA | List the repair guides available for a device. Returns the device's guides (and featured guides) as a compact list — each entry is projected to {guideid, title, url, difficulty, time_required_max, image_thumbnail}, with optional fields omitted when the API did not provide them. Args: title: The device title (e.g. "iPhone"). Note: Data from iFixit (CC BY-NC-SA). Non-commercial use only. |
| get_maintenance_scheduleA | Get a device's maintenance schedule. Returns {"schedules": [...]} where each schedule describes a maintenance task and its trigger (e.g. battery_health_percent). When the device inherits its schedule from a parent device, the dict also carries "inherited_from" (the parent's name). A device with no maintenance schedule yields {"schedules": []} — that is the API's normal "no schedule" signal (HTTP 200), not an error. Args: title: The device title (e.g. "iPhone"). Note: Data from iFixit (CC BY-NC-SA). Non-commercial use only. |
| get_mediaA | Resolve a media object's CDN URLs by id. Returns the API's image/media object with CDN size URLs (mini, thumbnail, standard, original, ...); ungenerated sizes are absent. Media access is permission-checked: assets not referenced by content you can view return an error. Args: media_id: The media id (e.g. 14056 or "14056"). media_type: One of "images" (default), "videos", or "documents". Note: Data from iFixit (CC BY-NC-SA). Non-commercial use only. |
| get_userA | Fetch an iFixit contributor profile. Returns the user's profile dict (username, reputation, join_date, badge_counts, ...). With include_guides=True, merges the profile with the user's guide list into {"user": ..., "guides": [...]} where each guide is projected to {guideid, title, url}. include_guides is all-or-nothing: if either the profile fetch or the guide-list fetch fails (ValueError, network error, or malformed response), the whole call raises a single clean error — partial data is never returned. Args: user_id: The user id (e.g. 1 or "1"). include_guides: When True, also fetch and include the user's guides (projected to guideid/title/url). Accepts true/false (also as JSON booleans) or 1/0; any other value is rejected with a clean error. limit: Maximum number of guides to include when include_guides=True (1-200, default 20; e.g. 5 or "5"). The API clamps at 200. Validated unconditionally — junk is rejected even when include_guides=False leaves it unused (QA Round 12, F12-7). Note: Data from iFixit (CC BY-NC-SA). Non-commercial use only. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dthen/ifixit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server