npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@motomarks/mcp

v0.1.2

Published

MCP server for Motomarks brand search, brand assets, and image CDN URLs.

Readme

Motomarks MCP

motomarks-mcp is a Model Context Protocol server for Motomarks automotive brand data. It helps AI agents search car manufacturers, vehicle marques, motorcycle brands, OEM brands, car logos, auto badges, brand emblems, wordmarks, and other vehicle-related brand assets. Agents can fetch brand metadata and assets, then build ready-to-use Motomarks Image CDN URLs.

The server runs over stdio by default, which works with local MCP clients such as Cursor, Claude Desktop, Claude Code, Codex-style agents, and other MCP-compatible tools.

Features

  • Search published Motomarks brands, including car manufacturers and vehicle brands.
  • Fetch automotive brand details by slug.
  • List available brand assets, such as car logos, badges, emblems, and wordmarks, with optional CDN URLs.
  • Build deterministic Motomarks Image CDN URLs.
  • Expose docs resources for the Image CDN and API v1.
  • Provide prompt templates for finding and embedding vehicle brand logos.

Vehicle Brand Discovery

Use this MCP server when an agent needs to find, identify, or embed vehicle-related brand imagery and metadata. Common search intents include car manufacturer logos, automotive brand badges, marque emblems, vehicle company wordmarks, motorcycle logos, OEM brand assets, and car logo CDN URLs.

Requirements

  • Node.js 20 or newer.
  • A Motomarks secret key starting with sk_ for API lookups.
  • A Motomarks publishable key starting with pk_ for Image CDN URLs.

Secret keys are for server-side use only. Do not put MOTOMARKS_SECRET_KEY in client-side code, screenshots, shared config files, or public logs.

Usage

Run directly with npx:

npx -y motomarks-mcp

For local development:

npm install
npm run build
node dist/index.js

Environment

MOTOMARKS_SECRET_KEY=sk_00000000000000000000000000000000
MOTOMARKS_PUBLIC_KEY=pk_00000000000000000000000000000000
MOTOMARKS_API_BASE_URL=https://motomarks.io
MOTOMARKS_IMAGE_BASE_URL=https://motomarks.io/img
MOTOMARKS_TIMEOUT_MS=10000
MOTOMARKS_REFERER=https://your-site.example

MOTOMARKS_API_BASE_URL, MOTOMARKS_IMAGE_BASE_URL, MOTOMARKS_TIMEOUT_MS, and MOTOMARKS_REFERER are optional. The key variables are required at startup.

Cursor Configuration

Add this to your Cursor MCP configuration:

{
  "mcpServers": {
    "motomarks": {
      "command": "npx",
      "args": ["-y", "motomarks-mcp"],
      "env": {
        "MOTOMARKS_SECRET_KEY": "sk_00000000000000000000000000000000",
        "MOTOMARKS_PUBLIC_KEY": "pk_00000000000000000000000000000000"
      }
    }
  }
}

For local development before publishing to npm:

{
  "mcpServers": {
    "motomarks": {
      "command": "node",
      "args": ["/absolute/path/to/motomarks-mcp/dist/index.js"],
      "env": {
        "MOTOMARKS_SECRET_KEY": "sk_00000000000000000000000000000000",
        "MOTOMARKS_PUBLIC_KEY": "pk_00000000000000000000000000000000"
      }
    }
  }
}

Claude Desktop Configuration

Claude Desktop uses the same stdio shape in claude_desktop_config.json:

{
  "mcpServers": {
    "motomarks": {
      "command": "npx",
      "args": ["-y", "motomarks-mcp"],
      "env": {
        "MOTOMARKS_SECRET_KEY": "sk_00000000000000000000000000000000",
        "MOTOMARKS_PUBLIC_KEY": "pk_00000000000000000000000000000000"
      }
    }
  }
}

On macOS, the file is usually at:

~/Library/Application Support/Claude/claude_desktop_config.json

Other MCP Clients

Any stdio MCP client can launch the server with:

node /absolute/path/to/motomarks-mcp/dist/index.js

Pass credentials through the process environment. Do not pass secret keys as command-line arguments because process lists and logs can expose them.

Tools

search_brands

Search published brands.

Inputs:

  • query: optional brand name, company name, or slug.
  • limit: result limit from 1 to 100.
  • includeImageUrls: include generated CDN URLs.
  • type, format, size, aspect: image options used when URLs are requested.

get_brand

Fetch a brand by slug.

Inputs:

  • slug: required brand slug.
  • includeAssets: include a compact asset summary.
  • includeCdnUrls: include generated CDN URLs for listed assets.

list_brand_assets

List assets for a brand.

Inputs:

  • slug: required brand slug.
  • type: optional full, badge, or wordmark.
  • format: optional webp, png, or svg.
  • aspect: optional square or height.
  • includeCdnUrls: include generated CDN URLs for webp/png assets.

build_image_url

Build a Motomarks Image CDN URL using the configured publishable key. This tool does not call the secret-key API.

Inputs:

  • slug: required brand slug.
  • type: full, badge, or wordmark.
  • format: webp or png.
  • size: xs, sm, md, lg, or xl.
  • aspect: square or height.

describe_api_endpoint

Describe a Motomarks HTTP endpoint for agents that need to generate code.

Inputs:

  • operation: searchBrands, getBrand, listAssets, or imageCdn.

Resources

  • motomarks://docs/image-cdn
  • motomarks://docs/api-v1
  • motomarks://brand/{slug}

Prompts

  • find_brand_logo
  • embed_brand_image

Development

npm install
npm run typecheck
npm test
npm run build

Run the optional integration smoke test only when real keys are available:

MOTOMARKS_SECRET_KEY=sk_... MOTOMARKS_PUBLIC_KEY=pk_... npm run test:integration

Security

  • The secret key is only sent in the Authorization: Bearer header to Motomarks API v1 endpoints.
  • The server redacts configured keys in tool errors.
  • Generated CDN URLs include the publishable key because that is the intended browser-facing credential.
  • The project does not import private Motomarks monorepo code or connect directly to the Motomarks database.

License

MIT