{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json","name":"io.github.mfukushim/map-traveler-mcp","description":"Virtual traveler library for MCP","repository":{"url":"https://github.com/mfukushim/map-traveler-mcp","source":"github"},"version":"0.1.4","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@mfukushim/map-traveler-mcp","version":"0.1.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"[Map] Google Map API key","format":"string","isSecret":true,"name":"MT_GOOGLE_MAP_KEY"},{"description":"[Image.gemini] Gemini Image Api key","format":"string","isSecret":true,"name":"MT_GEMINI_IMAGE_KEY"},{"description":"[Image.gemini] Number of retries when generating Gemini images Default: 0","format":"string","name":"MT_MAX_RETRY_GEMINI"},{"description":"[Image.gemini] Character reference image uri (file:// or https://) when generating Gemini image. Multiple settings can be made by separating them with the '|'. When multiple settings are made, they will be selected randomly.","format":"string","name":"MT_AVATAR_IMAGE_URI"},{"description":"[Map.etc] Optional: Map API custom endpoint. Example: direction=https://xxxx,places=https://yyyy ","format":"string","name":"MT_MAP_API_URL"},{"description":"[Map] Optional:Scale of travel time on real roads duration. default 4","format":"string","name":"MT_TIME_SCALE"},{"description":"[db.local] db save path: e.g. %USERPROFILE%/Desktop/traveler.sqlite ,$HOME/traveler.sqlite ","format":"string","name":"MT_SQLITE_PATH"},{"description":"[db.api] Turso sqlite API URL","format":"string","name":"MT_TURSO_URL"},{"description":"[db.api] Turso sqlite API access token","format":"string","isSecret":true,"name":"MT_TURSO_TOKEN"},{"description":"[rembg.local] absolute path of the installed rembg cli","format":"string","name":"MT_REMBG_PATH"},{"description":"[rembg.api] withoutbg.com rembg API URL","format":"string","name":"MT_REMBG_URL"},{"description":"[rembg.api] withoutbg.com rembg API key","format":"string","isSecret":true,"name":"MT_REMBG_WO_KEY"},{"description":"[Image.pixAi] pixAi API key","format":"string","isSecret":true,"name":"MT_PIXAI_KEY"},{"description":"[Image.sd] Stability.ai image generation API key","format":"string","isSecret":true,"name":"MT_SD_KEY"},{"description":"[Image.pixAi] Optional: pixAi ModelId, if not set use default model 1648918127446573124 ","format":"string","name":"MT_PIXAI_MODEL_ID"},{"description":"[Image.local.ComfyUi] Option: Generate image using ComfyUI API at specified URL. Example: http://192.168.1.100:8188","format":"string","name":"MT_COMFY_URL"},{"description":"[Image.local.ComfyUi] Optional: Path to API workflow file when using text to image with ComfyUI. If not specified: assets/comfy/t2i_sample.json","format":"string","name":"MT_COMFY_WORKFLOW_T2I"},{"description":"[Image.local.ComfyUi] Optional: Path of API workflow file when image to image in ComfyUI. If not specified: assets/comfy/i2i_sample.json","format":"string","name":"MT_COMFY_WORKFLOW_I2I"},{"description":"[Image.local.ComfyUi] Optional: Variable values to send to the workflow via comfyUI API","format":"string","name":"MT_COMFY_PARAMS"},{"description":"[Image] Optional: Fixed avatar generation prompt. You will no longer be able to change your avatar during conversations.","format":"string","name":"MT_FIXED_MODEL_PROMPT"},{"description":"[Image] Optional: Acceptable avatar image area ratio. default 0.042","format":"string","name":"MT_BODY_AREA_RATIO"},{"description":"[Image] Optional: Acceptable avatar image aspect ratios. default 1.5~2.3","format":"string","name":"MT_BODY_HW_RATIO"},{"description":"[Image] Optional: Avatar composite window horizontal ratio. default 0.5","format":"string","name":"MT_BODY_WINDOW_RATIO_W"},{"description":"[Image] Optional: Avatar composite window aspect ratio. default 0.75","format":"string","name":"MT_BODY_WINDOW_RATIO_H"},{"description":"[Sns.Bs] Bluesky sns registration address","format":"string","name":"MT_BS_ID"},{"description":"[Sns.Bs] bluesky sns password","format":"string","isSecret":true,"name":"MT_BS_PASS"},{"description":"[Sns.Bs] bluesky sns handle name: e.g. xxxxxxxx.bsky.social ","format":"string","name":"MT_BS_HANDLE"},{"description":"[etc] Optional: Directly filter the tools to be used. All are available if not specified. e.g. tips,set_traveler_location","format":"string","name":"MT_FILTER_TOOLS"},{"description":"[etc] Option: Specify whether the movement mode is 'realtime' or 'skip'. default realtime","format":"string","name":"MT_MOVE_MODE"},{"description":"[Image] Option: Output image width (pixels) Default is 512","format":"string","name":"MT_IMAGE_WIDTH"},{"description":"[Image] Options: 'true' = do not output image, not specified = output image if possible, default is not specified","format":"string","name":"MT_NO_IMAGE"},{"description":"[Image] Option: 'true' = Output StreetView image as is without avatar superimposition. Not specified = Superimpose avatar image. Default is not specified.","format":"string","name":"MT_NO_AVATAR"},{"description":"[Sns] Optional: Specify the feed tag when posting to SNS (#required, 15 characters or more) Default is #geo_less_traveler","format":"string","name":"MT_FEED_TAG"},{"description":"[Streamable-http] Maximum number of sessions when using Streamable-http","format":"string","name":"MT_MAX_SESSIONS"},{"description":"[Streamable-http] Session TTL when using Streamable-http","format":"string","name":"MT_SESSION_TTL_MS"},{"description":"[Streamable-http] Service TTL when using Streamable-http","format":"string","name":"MT_SERVICE_TTL_MS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-09-11T12:17:16.50839Z","publishedAt":"2025-09-11T12:17:16.50839Z","updatedAt":"2025-09-11T12:17:16.50839Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json","name":"io.github.mgaruccio/openapi-navigator","description":"Navigate and query OpenAPI specs with fuzzy search, pagination, and API testing","repository":{"url":"https://github.com/mikegaruccio/openapi-navigator","source":"github"},"version":"0.5.1","packages":[{"registryType":"pypi","identifier":"openapi-navigator","version":"0.5.1","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-11-15T03:29:15.146815Z","publishedAt":"2025-11-15T03:29:15.146815Z","updatedAt":"2025-11-15T03:29:15.146815Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgcrea/mcp-apple-calendar","description":"Search, read and act on Apple Calendar — ranges, free-time lookup, writes off by default","title":"Apple Calendar","repository":{"url":"https://github.com/mgcrea/cupertino","source":"github","subfolder":"packages/calendar"},"version":"1.25.0","websiteUrl":"https://cupertino.mgcrea.io","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@mgcrea/mcp-apple-calendar","version":"1.25.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.","name":"APPLE_CALENDAR_ALLOW_WRITES"},{"description":"Restrict every read and write to these calendars, by name.","name":"APPLE_CALENDAR_CALENDARS"},{"description":"Restrict every read and write to these Calendar accounts, by name or id. Bounds reading, not just writing.","name":"APPLE_CALENDAR_ACCOUNTS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-03T18:31:33.894829Z","publishedAt":"2026-10-03T18:31:33.894829Z","updatedAt":"2026-10-03T18:31:33.894829Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgcrea/mcp-apple-contacts","description":"Search and read Apple Contacts — resolves numbers and emails to names, writes off by default","title":"Apple Contacts","repository":{"url":"https://github.com/mgcrea/cupertino","source":"github","subfolder":"packages/contacts"},"version":"1.25.0","websiteUrl":"https://cupertino.mgcrea.io","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@mgcrea/mcp-apple-contacts","version":"1.25.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.","name":"APPLE_CONTACTS_ALLOW_WRITES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-03T18:31:16.550723Z","publishedAt":"2026-10-03T18:31:16.550723Z","updatedAt":"2026-10-03T18:31:16.550723Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgcrea/mcp-apple-mail","description":"Search, read and act on Apple Mail — threads, attachments, body search, writes off by default","title":"Apple Mail","repository":{"url":"https://github.com/mgcrea/cupertino","source":"github","subfolder":"packages/mail"},"version":"1.25.0","websiteUrl":"https://cupertino.mgcrea.io","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@mgcrea/mcp-apple-mail","version":"1.25.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.","name":"APPLE_MAIL_ALLOW_WRITES"},{"description":"Restrict every read and write to these Mail accounts, by name. Bounds reading, not just writing.","name":"APPLE_MAIL_ACCOUNTS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-03T18:29:43.182219Z","publishedAt":"2026-10-03T18:29:43.182219Z","updatedAt":"2026-10-03T18:29:43.182219Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgcrea/mcp-apple-maps","description":"Read and act on Apple Maps — favourites, Guides and recents, writes off by default","title":"Apple Maps","repository":{"url":"https://github.com/mgcrea/cupertino","source":"github","subfolder":"packages/maps"},"version":"1.25.0","websiteUrl":"https://cupertino.mgcrea.io","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@mgcrea/mcp-apple-maps","version":"1.25.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.","name":"APPLE_MAPS_ALLOW_WRITES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-03T18:33:07.235679Z","publishedAt":"2026-10-03T18:33:07.235679Z","updatedAt":"2026-10-03T18:33:07.235679Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgcrea/mcp-apple-messages","description":"Search and read Apple Messages — chats and decoded text, sending off by default","title":"Apple Messages","repository":{"url":"https://github.com/mgcrea/cupertino","source":"github","subfolder":"packages/messages"},"version":"1.25.0","websiteUrl":"https://cupertino.mgcrea.io","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@mgcrea/mcp-apple-messages","version":"1.25.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.","name":"APPLE_MESSAGES_ALLOW_WRITES"},{"description":"Register apple_messages_find_codes, which reads one-time codes out of recent messages. Its own gate rather than allowWrites: it is a read, and the one read most worth an explicit decision.","name":"APPLE_MESSAGES_ALLOW_CODES"},{"description":"Let apple_messages_send_message attach a local file. Off by default even with writes on, because a path argument is a way to send anything the server can read.","name":"APPLE_MESSAGES_ALLOW_FILE_SEND"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-03T18:29:39.071206Z","publishedAt":"2026-10-03T18:29:39.071206Z","updatedAt":"2026-10-03T18:29:39.071206Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgcrea/mcp-apple-notes","description":"Search, read and act on Apple Notes — folders, attachments, writes off by default","title":"Apple Notes","repository":{"url":"https://github.com/mgcrea/cupertino","source":"github","subfolder":"packages/notes"},"version":"1.25.0","websiteUrl":"https://cupertino.mgcrea.io","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@mgcrea/mcp-apple-notes","version":"1.25.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.","name":"APPLE_NOTES_ALLOW_WRITES"},{"description":"Restrict every read and write to these Notes accounts, by name.","name":"APPLE_NOTES_ACCOUNTS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-03T18:39:08.721407Z","publishedAt":"2026-10-03T18:39:08.721407Z","updatedAt":"2026-10-03T18:39:08.721407Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgcrea/mcp-apple-reminders","description":"Search, read and act on Apple Reminders — lists, due dates, writes off by default","title":"Apple Reminders","repository":{"url":"https://github.com/mgcrea/cupertino","source":"github","subfolder":"packages/reminders"},"version":"1.25.0","websiteUrl":"https://cupertino.mgcrea.io","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@mgcrea/mcp-apple-reminders","version":"1.25.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.","name":"APPLE_REMINDERS_ALLOW_WRITES"},{"description":"Restrict every read and write to these Reminders lists, by name.","name":"APPLE_REMINDERS_LISTS"},{"description":"Restrict every read and write to these Reminders accounts, by name or id. Bounds reading, not just writing.","name":"APPLE_REMINDERS_ACCOUNTS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-03T18:36:34.484058Z","publishedAt":"2026-10-03T18:36:34.484058Z","updatedAt":"2026-10-03T18:36:34.484058Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgcrea/mcp-apple-safari","description":"Read and act on Safari — history, tabs and reading list, writes off by default","title":"Apple Safari","repository":{"url":"https://github.com/mgcrea/cupertino","source":"github","subfolder":"packages/safari"},"version":"1.25.0","websiteUrl":"https://cupertino.mgcrea.io","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@mgcrea/mcp-apple-safari","version":"1.25.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.","name":"APPLE_SAFARI_ALLOW_WRITES"},{"description":"Return one-time codes: a one-time-code field in apple_safari_page_elements, and apple_safari_find_codes for a code a page shows as text. Its own gate rather than allowWrites, because it is a read. Credential fields stay redacted whatever this says.","name":"APPLE_SAFARI_ALLOW_CODES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-03T18:35:40.714861Z","publishedAt":"2026-10-03T18:35:40.714861Z","updatedAt":"2026-10-03T18:35:40.714861Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgdsn/verify-api-mcp","description":"Evidence-backed verification for citations, packages, repos, cases, filings, drugs, x402 sellers.","title":"Verify API","repository":{"url":"https://github.com/mgdsn/verify-api-mcp","source":"github"},"version":"0.6.0","packages":[{"registryType":"pypi","identifier":"verify-api-mcp","version":"0.6.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key from subscribing at https://goodsong.dev/#pricing","isRequired":true,"format":"string","isSecret":true,"name":"VERIFY_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-04T01:23:52.093416Z","publishedAt":"2026-09-04T01:23:52.093416Z","updatedAt":"2026-09-04T01:23:52.093416Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mglbagi/agent-output-verifier","description":"Independently verify an agent's output before you pay.","title":"Agent Output Verifier","repository":{"url":"https://github.com/mglbagi/agent-output-verifier","source":"github"},"version":"0.3.2","websiteUrl":"https://github.com/mglbagi/agent-output-verifier","remotes":[{"type":"streamable-http","url":"https://fastapi-service-5ag4.onrender.com/mcp"}],"_meta":{"io.modelcontextprotocol.registry/publisher-provided":{"agentCardUrl":"https://fastapi-service-5ag4.onrender.com/.well-known/agent-card.json","payment":"x402 (USDC on Base and Solana). verify_schema and get_verification_record each carry their own free-trial allowance per caller; after that, each call requires an x402 payment in the MCP request's _meta under \"x402/payment\". Exact prices, networks and the pay-to address are in the agent-card."}}},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-01T02:19:24.148489Z","publishedAt":"2026-10-01T02:19:24.148489Z","updatedAt":"2026-10-01T02:19:24.148489Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgleonard-ops/double-check","description":"AI-powered scam detection for suspicious texts, emails, and screenshots. US-focused.","title":"Double Check","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://web-production-970ba.up.railway.app/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-23T18:40:37.916221Z","publishedAt":"2026-05-23T18:40:37.916221Z","updatedAt":"2026-05-23T18:40:37.916221Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgriffen/tapsite","description":"MCP server for web inspection, design system extraction, and accessibility audits","repository":{"url":"https://github.com/mgriffen/tapsite","source":"github"},"version":"4.0.1","packages":[{"registryType":"npm","identifier":"tapsite","version":"4.0.1","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-03-24T23:30:02.474263Z","publishedAt":"2026-03-24T23:30:02.474263Z","updatedAt":"2026-03-24T23:30:02.474263Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgthompo1/anchorr-mcp","description":"Agent-native CRM. 25 tools — contacts, deals, sequences, enrichment waterfall, audit log.","repository":{"url":"https://github.com/mgthompo1/anchorr-mcp","source":"github"},"version":"0.2.0","remotes":[{"type":"streamable-http","url":"https://anchorr-mcp.mgthompo.workers.dev/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-25T22:16:09.958148Z","publishedAt":"2026-04-25T22:16:09.958148Z","updatedAt":"2026-04-25T22:16:09.958148Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mguay22/fundlens","description":"SEC fund holdings for AI agents: who holds X, what changed, returns, flows, and fund overlap.","repository":{"url":"https://github.com/mguay22/fundlens","source":"github"},"version":"0.1.1","packages":[{"registryType":"npm","identifier":"@fundlens/mcp","version":"0.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"FundLens API key (free tier available at https://fundlens.io)","isRequired":true,"isSecret":true,"name":"FUNDLENS_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-11T00:57:34.370261Z","publishedAt":"2026-08-11T00:57:34.370261Z","updatedAt":"2026-08-11T00:57:34.370261Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mguozhen/voc-amazon-reviews-mcp","description":"Amazon review intelligence via Shulex OpenAPI. 10 marketplaces, verified-purchase & Vine signals.","title":"VOC Amazon Reviews","repository":{"url":"https://github.com/mguozhen/voc-amazon-reviews","source":"github"},"version":"0.1.1","packages":[{"registryType":"pypi","identifier":"voc-amazon-reviews-mcp","version":"0.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Shulex VOC OpenAPI key. Get a free one (100 calls/month, no credit card) at https://apps.voc.ai/openapi","isRequired":true,"format":"string","isSecret":true,"name":"VOC_API_KEY"},{"description":"Anthropic API key. Only needed if you use extract_listing_improvements (which uses Claude Opus 4.7 for structured listing rewrites).","format":"string","isSecret":true,"name":"ANTHROPIC_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-20T01:58:28.11448Z","publishedAt":"2026-05-20T01:58:28.11448Z","updatedAt":"2026-05-20T01:58:28.11448Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mgwalkerjr95/texas-grocery","description":"MCP server for HEB grocery store integration - search products, manage carts, clip coupons, and more","repository":{"url":"https://github.com/mgwalkerjr95/texas-grocery-mcp","source":"github"},"version":"0.1.3","packages":[{"registryType":"pypi","identifier":"texas-grocery-mcp","version":"0.1.3","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-02-03T15:32:10.39811Z","publishedAt":"2026-02-03T15:32:10.39811Z","updatedAt":"2026-02-03T15:32:10.39811Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mh-mansouri/embedded-iot-mentor","description":"Embedded/IoT mentor: picks the board and toolchain, estimates cost and battery life.","title":"Embedded / IoT Mentor","repository":{"url":"https://github.com/mh-mansouri/embedded-iot-mentor","source":"github","subfolder":"chatgpt-app/mcp-server"},"version":"1.1.3","websiteUrl":"https://github.com/mh-mansouri/embedded-iot-mentor","icons":[{"src":"https://raw.githubusercontent.com/mh-mansouri/embedded-iot-mentor/main/vscode-extension/icon.png","mimeType":"image/png","sizes":["256x256"]}],"packages":[{"registryType":"oci","identifier":"ghcr.io/mh-mansouri/embedded-iot-mentor-mcp:1.1.3","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Interface to bind. The image sets 0.0.0.0; the bare server defaults to loopback only.","default":"0.0.0.0","name":"HOST"},{"description":"Port to serve on. Hosts that assign a port set this.","default":"8000","name":"PORT"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-01T17:23:52.033581Z","publishedAt":"2026-08-01T17:23:52.033581Z","updatedAt":"2026-08-01T17:23:52.033581Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mhajder/ghostfolio-mcp","description":"MCP server for Ghostfolio portfolio management and financial data access","title":"Ghostfolio MCP","repository":{"url":"https://github.com/mhajder/ghostfolio-mcp","source":"github"},"version":"1.7.0","websiteUrl":"https://github.com/mhajder/ghostfolio-mcp","packages":[{"registryType":"pypi","identifier":"ghostfolio-mcp","version":"1.7.0","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Ghostfolio base URL (e.g., https://domain.tld:3333)","isRequired":true,"name":"GHOSTFOLIO_URL"},{"description":"Ghostfolio API token for authentication","isRequired":true,"isSecret":true,"name":"GHOSTFOLIO_TOKEN"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"GHOSTFOLIO_VERIFY_SSL"},{"description":"Request timeout in seconds","default":"30","name":"GHOSTFOLIO_TIMEOUT"},{"description":"Enable read-only mode to restrict write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated list of tags to disable tools for","name":"GHOSTFOLIO_DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"}]},{"registryType":"pypi","identifier":"ghostfolio-mcp","version":"1.7.0","runtimeHint":"uvx","transport":{"type":"streamable-http","url":"http://localhost:{MCP_HTTP_PORT}/mcp"},"environmentVariables":[{"description":"Ghostfolio base URL (e.g., https://domain.tld:3333)","isRequired":true,"name":"GHOSTFOLIO_URL"},{"description":"Ghostfolio API token for authentication","isRequired":true,"isSecret":true,"name":"GHOSTFOLIO_TOKEN"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"GHOSTFOLIO_VERIFY_SSL"},{"description":"Request timeout in seconds","default":"30","name":"GHOSTFOLIO_TIMEOUT"},{"description":"Enable read-only mode to restrict write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated list of tags to disable tools for","name":"GHOSTFOLIO_DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"},{"description":"Port for HTTP server (default: 8000)","default":"8000","name":"MCP_HTTP_PORT"},{"description":"MCP transport type (http for HTTP, stdio for stdio)","value":"http","name":"MCP_TRANSPORT"}]},{"registryType":"oci","identifier":"ghcr.io/mhajder/ghostfolio-mcp:1.7.0","transport":{"type":"streamable-http","url":"http://localhost:{MCP_HTTP_PORT}/mcp"},"runtimeArguments":[{"description":"Port mapping for HTTP transport","isRequired":true,"value":"{MCP_HTTP_PORT}:8000","type":"named","name":"-p"}],"environmentVariables":[{"description":"Ghostfolio base URL (e.g., https://domain.tld:3333)","isRequired":true,"name":"GHOSTFOLIO_URL"},{"description":"Ghostfolio API token for authentication","isRequired":true,"isSecret":true,"name":"GHOSTFOLIO_TOKEN"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"GHOSTFOLIO_VERIFY_SSL"},{"description":"Request timeout in seconds","default":"30","name":"GHOSTFOLIO_TIMEOUT"},{"description":"Enable read-only mode to restrict write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated list of tags to disable tools for","name":"GHOSTFOLIO_DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"},{"description":"Port for HTTP server (default: 8000)","default":"8000","name":"MCP_HTTP_PORT"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-17T20:17:13.126469Z","publishedAt":"2026-09-17T20:17:13.126469Z","updatedAt":"2026-09-17T20:17:13.126469Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mhajder/librenms-mcp","description":"MCP server for LibreNMS network monitoring - query devices, ports, alerts, and manage infrastructure","title":"LibreNMS MCP","repository":{"url":"https://github.com/mhajder/librenms-mcp","source":"github"},"version":"1.11.2","websiteUrl":"https://github.com/mhajder/librenms-mcp","packages":[{"registryType":"pypi","identifier":"librenms-mcp","version":"1.11.2","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"LibreNMS instance URL (e.g., https://librenms.example.com)","isRequired":true,"name":"LIBRENMS_URL"},{"description":"LibreNMS API token with appropriate permissions","isRequired":true,"isSecret":true,"name":"LIBRENMS_TOKEN"},{"description":"Verify TLS certificates for LibreNMS requests (true/false)","default":"true","name":"LIBRENMS_VERIFY_SSL"},{"description":"HTTP timeout for LibreNMS API requests in seconds","default":"30","name":"LIBRENMS_TIMEOUT"},{"description":"Enable read-only mode to block write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated tool tags to disable (e.g., alerts,bills)","name":"DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable per-client rate limiting (true/false)","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests allowed per rate-limit window","default":"100","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate-limit window duration in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy: 'bm25' (natural language) or 'regex' (pattern match)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum number of tools returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"}]},{"registryType":"pypi","identifier":"librenms-mcp","version":"1.11.2","runtimeHint":"uvx","transport":{"type":"streamable-http","url":"http://localhost:{MCP_HTTP_PORT}/mcp"},"environmentVariables":[{"description":"LibreNMS instance URL (e.g., https://librenms.example.com)","isRequired":true,"name":"LIBRENMS_URL"},{"description":"LibreNMS API token with appropriate permissions","isRequired":true,"isSecret":true,"name":"LIBRENMS_TOKEN"},{"description":"Verify TLS certificates for LibreNMS requests (true/false)","default":"true","name":"LIBRENMS_VERIFY_SSL"},{"description":"HTTP timeout for LibreNMS API requests in seconds","default":"30","name":"LIBRENMS_TIMEOUT"},{"description":"Enable read-only mode to block write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated tool tags to disable (e.g., alerts,bills)","name":"DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable per-client rate limiting (true/false)","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests allowed per rate-limit window","default":"100","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate-limit window duration in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy: 'bm25' (natural language) or 'regex' (pattern match)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum number of tools returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"},{"description":"Port for HTTP server (default: 8000)","default":"8000","name":"MCP_HTTP_PORT"},{"description":"Optional bearer token for HTTP transport authentication","isSecret":true,"name":"MCP_HTTP_BEARER_TOKEN"},{"description":"MCP transport type (http for HTTP, stdio for stdio)","value":"http","name":"MCP_TRANSPORT"}]},{"registryType":"oci","identifier":"ghcr.io/mhajder/librenms-mcp:1.11.2","transport":{"type":"streamable-http","url":"http://localhost:{MCP_HTTP_PORT}/mcp"},"runtimeArguments":[{"description":"Port mapping for HTTP transport","isRequired":true,"value":"{MCP_HTTP_PORT}:{MCP_HTTP_PORT}","type":"named","name":"-p"}],"environmentVariables":[{"description":"LibreNMS instance URL (e.g., https://librenms.example.com)","isRequired":true,"name":"LIBRENMS_URL"},{"description":"LibreNMS API token with appropriate permissions","isRequired":true,"isSecret":true,"name":"LIBRENMS_TOKEN"},{"description":"Verify TLS certificates for LibreNMS requests (true/false)","default":"true","name":"LIBRENMS_VERIFY_SSL"},{"description":"HTTP timeout for LibreNMS API requests in seconds","default":"30","name":"LIBRENMS_TIMEOUT"},{"description":"Enable read-only mode to block write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated tool tags to disable (e.g., alerts,bills)","name":"DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable per-client rate limiting (true/false)","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests allowed per rate-limit window","default":"100","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate-limit window duration in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy: 'bm25' (natural language) or 'regex' (pattern match)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum number of tools returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"},{"description":"Sentry DSN for optional error tracking","isSecret":true,"name":"SENTRY_DSN"},{"description":"Sentry traces sample rate (0.0-1.0)","default":"1.0","name":"SENTRY_TRACES_SAMPLE_RATE"},{"description":"Allow Sentry to include default PII in events (true/false)","default":"true","name":"SENTRY_SEND_DEFAULT_PII"},{"description":"Sentry environment name (e.g., production)","name":"SENTRY_ENVIRONMENT"},{"description":"Sentry release identifier","name":"SENTRY_RELEASE"},{"description":"Sentry profile session sample rate (0.0-1.0)","default":"1.0","name":"SENTRY_PROFILE_SESSION_SAMPLE_RATE"},{"description":"Sentry profiling lifecycle mode","default":"trace","name":"SENTRY_PROFILE_LIFECYCLE"},{"description":"Enable Sentry log capture integration (true/false)","default":"true","name":"SENTRY_ENABLE_LOGS"},{"description":"Port for HTTP server (default: 8000)","default":"8000","name":"MCP_HTTP_PORT"},{"description":"Optional bearer token for HTTP transport authentication","isSecret":true,"name":"MCP_HTTP_BEARER_TOKEN"},{"description":"MCP transport type (http for HTTP, stdio for stdio)","value":"http","name":"MCP_TRANSPORT"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-02T09:59:14.223942Z","publishedAt":"2026-09-02T09:59:14.223942Z","updatedAt":"2026-09-02T09:59:14.223942Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mhajder/netbox-mcp","description":"MCP server for NetBox DCIM/IPAM with read-only and dry-run modes","title":"NetBox MCP","repository":{"url":"https://github.com/mhajder/netbox-mcp","source":"github"},"version":"0.1.0","websiteUrl":"https://github.com/mhajder/netbox-mcp","packages":[{"registryType":"pypi","identifier":"netbox-mcp","version":"0.1.0","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"NetBox base URL (e.g., https://netbox.example.com)","isRequired":true,"name":"NETBOX_URL"},{"description":"NetBox API token: v2 (nbt_<key>.<token>, NetBox 4.5+) or legacy v1","isRequired":true,"isSecret":true,"name":"NETBOX_TOKEN"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"NETBOX_VERIFY_SSL"},{"description":"Total time allowed for one NetBox request, retries included (seconds)","default":"30","name":"NETBOX_TIMEOUT"},{"description":"Enable netbox-branching support: branch tools and the 'branch' argument (requires the netbox-branching plugin) (true/false)","default":"false","name":"NETBOX_BRANCHING_ENABLED"},{"description":"Default netbox-branching branch (name or schema ID) for every call; requires NETBOX_BRANCHING_ENABLED=true","name":"NETBOX_BRANCH"},{"description":"Discover plugin object types from /api/core/object-types/ (true/false)","default":"false","name":"NETBOX_PLUGIN_DISCOVERY"},{"description":"Hide all write tools (create, update, delete) (true/false)","default":"false","name":"READ_ONLY_MODE"},{"description":"Write tools only simulate changes and never modify NetBox (true/false)","default":"false","name":"DRY_RUN_MODE"},{"description":"Comma-separated tool tags to disable (e.g. delete,graphql,branching)","name":"DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Maximum tool response size in bytes (unset = unlimited)","name":"RESPONSE_MAX_SIZE"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"}]},{"registryType":"pypi","identifier":"netbox-mcp","version":"0.1.0","runtimeHint":"uvx","transport":{"type":"streamable-http","url":"http://localhost:{MCP_HTTP_PORT}/mcp"},"environmentVariables":[{"description":"NetBox base URL (e.g., https://netbox.example.com)","isRequired":true,"name":"NETBOX_URL"},{"description":"NetBox API token: v2 (nbt_<key>.<token>, NetBox 4.5+) or legacy v1","isRequired":true,"isSecret":true,"name":"NETBOX_TOKEN"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"NETBOX_VERIFY_SSL"},{"description":"Total time allowed for one NetBox request, retries included (seconds)","default":"30","name":"NETBOX_TIMEOUT"},{"description":"Enable netbox-branching support: branch tools and the 'branch' argument (requires the netbox-branching plugin) (true/false)","default":"false","name":"NETBOX_BRANCHING_ENABLED"},{"description":"Default netbox-branching branch (name or schema ID) for every call; requires NETBOX_BRANCHING_ENABLED=true","name":"NETBOX_BRANCH"},{"description":"Discover plugin object types from /api/core/object-types/ (true/false)","default":"false","name":"NETBOX_PLUGIN_DISCOVERY"},{"description":"Hide all write tools (create, update, delete) (true/false)","default":"false","name":"READ_ONLY_MODE"},{"description":"Write tools only simulate changes and never modify NetBox (true/false)","default":"false","name":"DRY_RUN_MODE"},{"description":"Comma-separated tool tags to disable (e.g. delete,graphql,branching)","name":"DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Maximum tool response size in bytes (unset = unlimited)","name":"RESPONSE_MAX_SIZE"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"},{"description":"Port for HTTP server (default: 8000)","default":"8000","name":"MCP_HTTP_PORT"},{"description":"MCP transport type (http for HTTP, stdio for stdio)","value":"http","name":"MCP_TRANSPORT"}]},{"registryType":"oci","identifier":"ghcr.io/mhajder/netbox-mcp:0.1.0","transport":{"type":"streamable-http","url":"http://localhost:{MCP_HTTP_PORT}/mcp"},"runtimeArguments":[{"description":"Port mapping for HTTP transport","isRequired":true,"value":"{MCP_HTTP_PORT}:8000","type":"named","name":"-p"}],"environmentVariables":[{"description":"NetBox base URL (e.g., https://netbox.example.com)","isRequired":true,"name":"NETBOX_URL"},{"description":"NetBox API token: v2 (nbt_<key>.<token>, NetBox 4.5+) or legacy v1","isRequired":true,"isSecret":true,"name":"NETBOX_TOKEN"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"NETBOX_VERIFY_SSL"},{"description":"Total time allowed for one NetBox request, retries included (seconds)","default":"30","name":"NETBOX_TIMEOUT"},{"description":"Enable netbox-branching support: branch tools and the 'branch' argument (requires the netbox-branching plugin) (true/false)","default":"false","name":"NETBOX_BRANCHING_ENABLED"},{"description":"Default netbox-branching branch (name or schema ID) for every call; requires NETBOX_BRANCHING_ENABLED=true","name":"NETBOX_BRANCH"},{"description":"Discover plugin object types from /api/core/object-types/ (true/false)","default":"false","name":"NETBOX_PLUGIN_DISCOVERY"},{"description":"Hide all write tools (create, update, delete) (true/false)","default":"false","name":"READ_ONLY_MODE"},{"description":"Write tools only simulate changes and never modify NetBox (true/false)","default":"false","name":"DRY_RUN_MODE"},{"description":"Comma-separated tool tags to disable (e.g. delete,graphql,branching)","name":"DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Maximum tool response size in bytes (unset = unlimited)","name":"RESPONSE_MAX_SIZE"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"},{"description":"Port for HTTP server (default: 8000)","default":"8000","name":"MCP_HTTP_PORT"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-26T20:42:57.276557Z","publishedAt":"2026-09-26T20:42:57.276557Z","updatedAt":"2026-09-26T20:42:57.276557Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mhajder/oxidized-mcp","description":"MCP server for Oxidized network device configuration backups","title":"Oxidized MCP","repository":{"url":"https://github.com/mhajder/oxidized-mcp","source":"github"},"version":"0.1.0","websiteUrl":"https://github.com/mhajder/oxidized-mcp","packages":[{"registryType":"pypi","identifier":"oxidized-mcp","version":"0.1.0","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Oxidized web base URL (e.g., http://localhost:8888)","isRequired":true,"name":"OXIDIZED_URL"},{"description":"HTTP Basic auth username (e.g., for a reverse proxy in front of oxidized-web)","name":"OXIDIZED_USERNAME"},{"description":"HTTP Basic auth password","isSecret":true,"name":"OXIDIZED_PASSWORD"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"OXIDIZED_VERIFY_SSL"},{"description":"Request timeout in seconds","default":"30","name":"OXIDIZED_TIMEOUT"},{"description":"Timeout in seconds for configuration searches (oxidized-web reads every stored configuration)","default":"300","name":"OXIDIZED_SEARCH_TIMEOUT"},{"description":"Redact node vars (may contain device credentials) in tool output","default":"true","name":"OXIDIZED_REDACT_NODE_VARS"},{"description":"Enable read-only mode to restrict write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated list of tags to disable tools for","name":"OXIDIZED_DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"}]},{"registryType":"pypi","identifier":"oxidized-mcp","version":"0.1.0","runtimeHint":"uvx","transport":{"type":"streamable-http","url":"http://localhost:{MCP_HTTP_PORT}/mcp"},"environmentVariables":[{"description":"Oxidized web base URL (e.g., http://localhost:8888)","isRequired":true,"name":"OXIDIZED_URL"},{"description":"HTTP Basic auth username (e.g., for a reverse proxy in front of oxidized-web)","name":"OXIDIZED_USERNAME"},{"description":"HTTP Basic auth password","isSecret":true,"name":"OXIDIZED_PASSWORD"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"OXIDIZED_VERIFY_SSL"},{"description":"Request timeout in seconds","default":"30","name":"OXIDIZED_TIMEOUT"},{"description":"Timeout in seconds for configuration searches (oxidized-web reads every stored configuration)","default":"300","name":"OXIDIZED_SEARCH_TIMEOUT"},{"description":"Redact node vars (may contain device credentials) in tool output","default":"true","name":"OXIDIZED_REDACT_NODE_VARS"},{"description":"Enable read-only mode to restrict write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated list of tags to disable tools for","name":"OXIDIZED_DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"},{"description":"Port for HTTP server (default: 8000)","default":"8000","name":"MCP_HTTP_PORT"},{"description":"MCP transport type (http for HTTP, stdio for stdio)","value":"http","name":"MCP_TRANSPORT"}]},{"registryType":"oci","identifier":"ghcr.io/mhajder/oxidized-mcp:0.1.0","transport":{"type":"streamable-http","url":"http://localhost:{MCP_HTTP_PORT}/mcp"},"runtimeArguments":[{"description":"Port mapping for HTTP transport","isRequired":true,"value":"{MCP_HTTP_PORT}:8000","type":"named","name":"-p"}],"environmentVariables":[{"description":"Oxidized web base URL (e.g., http://localhost:8888)","isRequired":true,"name":"OXIDIZED_URL"},{"description":"HTTP Basic auth username (e.g., for a reverse proxy in front of oxidized-web)","name":"OXIDIZED_USERNAME"},{"description":"HTTP Basic auth password","isSecret":true,"name":"OXIDIZED_PASSWORD"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"OXIDIZED_VERIFY_SSL"},{"description":"Request timeout in seconds","default":"30","name":"OXIDIZED_TIMEOUT"},{"description":"Timeout in seconds for configuration searches (oxidized-web reads every stored configuration)","default":"300","name":"OXIDIZED_SEARCH_TIMEOUT"},{"description":"Redact node vars (may contain device credentials) in tool output","default":"true","name":"OXIDIZED_REDACT_NODE_VARS"},{"description":"Enable read-only mode to restrict write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated list of tags to disable tools for","name":"OXIDIZED_DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"},{"description":"Port for HTTP server (default: 8000)","default":"8000","name":"MCP_HTTP_PORT"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-26T21:06:51.264463Z","publishedAt":"2026-09-26T21:06:51.264463Z","updatedAt":"2026-09-26T21:06:51.264463Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mhajder/zabbix-mcp","description":"MCP server for Zabbix monitoring and automation","title":"Zabbix MCP","repository":{"url":"https://github.com/mhajder/zabbix-mcp","source":"github"},"version":"0.6.1","websiteUrl":"https://github.com/mhajder/zabbix-mcp","packages":[{"registryType":"pypi","identifier":"zabbix-mcp","version":"0.6.1","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Zabbix API URL (e.g., https://zabbix.example.com/api_jsonrpc.php)","isRequired":true,"name":"ZABBIX_URL"},{"description":"Zabbix API token (preferred for Zabbix 5.4+)","isSecret":true,"name":"ZABBIX_TOKEN"},{"description":"Zabbix username (alternative to token)","name":"ZABBIX_USER"},{"description":"Zabbix password (alternative to token)","isSecret":true,"name":"ZABBIX_PASSWORD"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"ZABBIX_VERIFY_SSL"},{"description":"Request timeout in seconds","default":"30","name":"ZABBIX_TIMEOUT"},{"description":"Skip Zabbix API version compatibility check","default":"false","name":"ZABBIX_SKIP_VERSION_CHECK"},{"description":"Enable read-only mode to restrict write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated list of tags to disable tools for","name":"DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"}]},{"registryType":"pypi","identifier":"zabbix-mcp","version":"0.6.1","runtimeHint":"uvx","transport":{"type":"streamable-http","url":"http://localhost:{MCP_HTTP_PORT}/mcp"},"environmentVariables":[{"description":"Zabbix API URL (e.g., https://zabbix.example.com/api_jsonrpc.php)","isRequired":true,"name":"ZABBIX_URL"},{"description":"Zabbix API token (preferred for Zabbix 5.4+)","isSecret":true,"name":"ZABBIX_TOKEN"},{"description":"Zabbix username (alternative to token)","name":"ZABBIX_USER"},{"description":"Zabbix password (alternative to token)","isSecret":true,"name":"ZABBIX_PASSWORD"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"ZABBIX_VERIFY_SSL"},{"description":"Request timeout in seconds","default":"30","name":"ZABBIX_TIMEOUT"},{"description":"Skip Zabbix API version compatibility check","default":"false","name":"ZABBIX_SKIP_VERSION_CHECK"},{"description":"Enable read-only mode to restrict write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated list of tags to disable tools for","name":"DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"},{"description":"Port for HTTP server (default: 8000)","default":"8000","name":"MCP_HTTP_PORT"},{"description":"MCP transport type (http for HTTP, stdio for stdio)","value":"http","name":"MCP_TRANSPORT"}]},{"registryType":"oci","identifier":"ghcr.io/mhajder/zabbix-mcp:0.6.1","transport":{"type":"streamable-http","url":"http://localhost:{MCP_HTTP_PORT}/mcp"},"runtimeArguments":[{"description":"Port mapping for HTTP transport","isRequired":true,"value":"{MCP_HTTP_PORT}:8000","type":"named","name":"-p"}],"environmentVariables":[{"description":"Zabbix API URL (e.g., https://zabbix.example.com/api_jsonrpc.php)","isRequired":true,"name":"ZABBIX_URL"},{"description":"Zabbix API token (preferred for Zabbix 5.4+)","isSecret":true,"name":"ZABBIX_TOKEN"},{"description":"Zabbix username (alternative to token)","name":"ZABBIX_USER"},{"description":"Zabbix password (alternative to token)","isSecret":true,"name":"ZABBIX_PASSWORD"},{"description":"Verify SSL certificates (true/false)","default":"true","name":"ZABBIX_VERIFY_SSL"},{"description":"Request timeout in seconds","default":"30","name":"ZABBIX_TIMEOUT"},{"description":"Skip Zabbix API version compatibility check","default":"false","name":"ZABBIX_SKIP_VERSION_CHECK"},{"description":"Enable read-only mode to restrict write operations","default":"false","name":"READ_ONLY_MODE"},{"description":"Comma-separated list of tags to disable tools for","name":"DISABLED_TAGS"},{"description":"Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)","default":"INFO","name":"LOG_LEVEL"},{"description":"Enable rate limiting","default":"false","name":"RATE_LIMIT_ENABLED"},{"description":"Maximum requests per rate limit window","default":"60","name":"RATE_LIMIT_MAX_REQUESTS"},{"description":"Rate limit window in minutes","default":"1","name":"RATE_LIMIT_WINDOW_MINUTES"},{"description":"Enable FastMCP tool search transform","default":"false","name":"TOOL_SEARCH_ENABLED"},{"description":"Tool search strategy (bm25 or regex)","default":"bm25","name":"TOOL_SEARCH_STRATEGY"},{"description":"Maximum tool search results returned by search_tools","default":"5","name":"TOOL_SEARCH_MAX_RESULTS"},{"description":"Port for HTTP server (default: 8000)","default":"8000","name":"MCP_HTTP_PORT"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-02T10:54:51.523673Z","publishedAt":"2026-09-02T10:54:51.523673Z","updatedAt":"2026-09-02T10:54:51.523673Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mharnett/bing-ads","description":"MCP server for Microsoft Advertising (Bing Ads) — campaigns, keywords, and reports","repository":{"url":"https://github.com/mharnett/mcp-bing-ads","source":"github"},"version":"1.0.2","packages":[{"registryType":"npm","identifier":"mcp-bing-ads","version":"1.0.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Microsoft Advertising developer token","isRequired":true,"format":"string","isSecret":true,"name":"BING_ADS_DEVELOPER_TOKEN"},{"description":"Azure AD app client ID for OAuth","isRequired":true,"format":"string","name":"BING_ADS_CLIENT_ID"},{"description":"OAuth refresh token for Microsoft Advertising API","isRequired":true,"format":"string","isSecret":true,"name":"BING_ADS_REFRESH_TOKEN"},{"description":"Azure AD app client secret (optional for public clients)","format":"string","isSecret":true,"name":"BING_ADS_CLIENT_SECRET"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-03-13T18:23:07.777792Z","publishedAt":"2026-03-13T18:23:07.777792Z","updatedAt":"2026-03-13T18:23:07.777792Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mharnett/ga4","description":"Google Analytics 4 MCP: reports, realtime data, custom dimensions, data streams.","repository":{"url":"https://github.com/mharnett/mcp-ga4","source":"github"},"version":"2.0.1","packages":[{"registryType":"npm","identifier":"mcp-ga4","version":"2.0.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"GA4 property ID (numeric)","isRequired":true,"name":"GA4_PROPERTY_ID"},{"description":"Path to service account JSON credentials file","isRequired":true,"name":"GOOGLE_APPLICATION_CREDENTIALS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-08T23:39:47.556055Z","publishedAt":"2026-04-08T23:39:47.556055Z","updatedAt":"2026-04-08T23:39:47.556055Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mharnett/google-ads","description":"Google Ads MCP with MCC support: 35 tools for campaigns, keywords, reporting, GAQL.","repository":{"url":"https://github.com/mharnett/mcp-google-ads","source":"github"},"version":"1.0.1","packages":[{"registryType":"npm","identifier":"mcp-google-ads","version":"1.0.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"OAuth client ID","isRequired":true,"name":"GOOGLE_ADS_CLIENT_ID"},{"description":"OAuth client secret","isRequired":true,"isSecret":true,"name":"GOOGLE_ADS_CLIENT_SECRET"},{"description":"OAuth refresh token","isRequired":true,"isSecret":true,"name":"GOOGLE_ADS_REFRESH_TOKEN"},{"description":"Google Ads API developer token","isRequired":true,"isSecret":true,"name":"GOOGLE_ADS_DEVELOPER_TOKEN"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-08T23:39:46.72837Z","publishedAt":"2026-04-08T23:39:46.72837Z","updatedAt":"2026-04-08T23:39:46.72837Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mharnett/google-gsc","description":"Google Search Console MCP: search analytics, URL inspection, site management.","repository":{"url":"https://github.com/mharnett/mcp-search-console","source":"github"},"version":"1.0.1","packages":[{"registryType":"npm","identifier":"mcp-google-gsc","version":"1.0.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Path to service account JSON credentials file","isRequired":true,"name":"GOOGLE_APPLICATION_CREDENTIALS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-08T23:39:47.048172Z","publishedAt":"2026-04-08T23:39:47.048172Z","updatedAt":"2026-04-08T23:39:47.048172Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mharnett/gtm-ga4","description":"GTM + GA4 MCP: tag management, consent auditing, workspace versioning, reports.","repository":{"url":"https://github.com/mharnett/mcp-gtm-ga4","source":"github"},"version":"1.0.1","packages":[{"registryType":"npm","identifier":"mcp-gtm-ga4","version":"1.0.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Path to service account JSON credentials file","isRequired":true,"name":"GOOGLE_APPLICATION_CREDENTIALS"},{"description":"GTM account ID","isRequired":true,"name":"GTM_ACCOUNT_ID"},{"description":"GTM container ID","isRequired":true,"name":"GTM_CONTAINER_ID"},{"description":"GA4 property ID (numeric)","name":"GA4_PROPERTY_ID"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-08T23:39:47.808192Z","publishedAt":"2026-04-08T23:39:47.808192Z","updatedAt":"2026-04-08T23:39:47.808192Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mharnett/linkedin-ads","description":"MCP server for LinkedIn Campaign Manager — campaigns, creatives, and analytics","repository":{"url":"https://github.com/mharnett/mcp-linkedin-ads","source":"github"},"version":"1.0.2","packages":[{"registryType":"npm","identifier":"mcp-linkedin-ads","version":"1.0.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"LinkedIn OAuth app client ID","isRequired":true,"format":"string","name":"LINKEDIN_CLIENT_ID"},{"description":"LinkedIn OAuth app client secret","isRequired":true,"format":"string","isSecret":true,"name":"LINKEDIN_CLIENT_SECRET"},{"description":"LinkedIn OAuth access token","isRequired":true,"format":"string","isSecret":true,"name":"LINKEDIN_ACCESS_TOKEN"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-03-13T18:23:11.935676Z","publishedAt":"2026-03-13T18:23:11.935676Z","updatedAt":"2026-03-13T18:23:11.935676Z","isLatest":true}}}],"metadata":{"nextCursor":"io.github.mharnett/linkedin-ads:1.0.2","count":30}}
