Skip to main content
Glama
NOVA-3951

Logo.dev MCP Server

by NOVA-3951

Logo.dev MCP Server

An MCP (Model Context Protocol) server for the Logo.dev API that enables searching for and retrieving company logos. Ready for deployment on Smithery.

Features

  • Search for logos: Search for company logos by brand or company name

  • Get logo URLs: Retrieve direct logo image URLs with customization options

  • Multiple formats: Support for PNG, JPG, and WebP formats

  • Theme variants: Light and dark theme options

  • Customizable: Size, format, theme, and greyscale options

  • Smithery Ready: Deploy directly to Smithery with automatic configuration

Related MCP server: Noun Project MCP Server

Tools

search_logos

Search for company logos by brand name or company name.

Parameters:

  • query (string, required): The brand or company name to search for

Returns: A list of matching companies with their domains and logo URLs.

Example:

{
  "query": "Google",
  "count": 1,
  "results": [
    {
      "name": "Google",
      "domain": "google.com",
      "logoUrl": "https://img.logo.dev/google.com?token=..."
    }
  ]
}

get_logo_url

Get a direct logo image URL for a specific domain with customization options.

Parameters:

  • domain (string, required): The company domain (e.g., 'google.com')

  • size (string, optional): Logo size/dimensions

  • format (string, optional): Image format - "png", "jpg", or "webp" (default: png)

  • theme (string, optional): Logo theme - "light" or "dark"

  • greyscale (boolean, optional): Convert logo to greyscale (default: false)

Returns: Logo URL with the specified options.

Example:

{
  "domain": "apple.com",
  "logoUrl": "https://img.logo.dev/apple.com?token=...&format=webp&theme=dark",
  "options": {
    "size": "default",
    "format": "webp",
    "theme": "dark",
    "greyscale": false
  }
}

Smithery Deployment

This server is designed for Smithery deployment:

  1. Push this code to a Git repository

  2. Connect the repository to Smithery

  3. Smithery will automatically detect the TypeScript runtime

  4. Enter your Logo.dev API key when prompted

  5. Deploy and use!

Local Usage

Prerequisites

  • Node.js 20 or higher

  • A Logo.dev API key (get one at logo.dev)

Installation

npm install
npm run build

STDIO Mode (for Claude Desktop)

export LOGO_DEV_API_KEY="your-api-key-here"
node build/index.js

Claude Desktop Configuration

Add to your Claude Desktop config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "logo-dev": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-logo-dev/build/index.js"],
      "env": {
        "LOGO_DEV_API_KEY": "your-api-key-here"
      }
    }
  }
}

Development

Watch mode

npm run watch

Testing with MCP Inspector

npm run inspector

API Reference

This server uses the Logo.dev API:

  • Search endpoint: https://api.logo.dev/search?q={query}

  • Image CDN: https://img.logo.dev/{domain}

License

MIT

Available Tools

2 tools
get_logo_urlC

Get a direct logo image URL for a specific domain. Supports customization options like size, format, theme, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe company domain (e.g., 'google.com', 'apple.com')
sizeNoLogo size/dimensions (optional)
formatNoImage format (default: png)
themeNoLogo theme variant (optional)
greyscaleNoConvert logo to greyscale (default: false)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get[s] a direct logo image URL' and supports 'customization options,' but lacks critical details: it doesn't specify if this is a read-only operation, potential rate limits, authentication requirements, error handling (e.g., for invalid domains), or what happens if no logo is found. For a tool with no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two sentences: the first states the core purpose, and the second highlights customization support. It's front-loaded with the main function, and there's no redundant or verbose language. However, it could be slightly more structured by explicitly listing key parameters or use cases, preventing a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (5 parameters, no output schema, no annotations), the description is incomplete. It lacks details on behavioral traits (e.g., read-only nature, error scenarios), output format (e.g., URL structure, potential null responses), and usage context compared to 'search_logos.' Without annotations or an output schema, the description should provide more comprehensive guidance to aid the agent effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal value beyond the input schema, which has 100% coverage. It mentions 'customization options like size, format, theme, and more,' but this merely echoes the schema's parameter names without providing additional context (e.g., typical size values, when to use themes). With high schema coverage, the baseline is 3, as the description doesn't compensate with extra semantic insights.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get a direct logo image URL for a specific domain.' It specifies the verb ('Get'), resource ('logo image URL'), and target ('specific domain'), making the function unambiguous. However, it doesn't explicitly differentiate from the sibling tool 'search_logos' (e.g., by noting this retrieves a single logo vs. searching multiple), which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions 'Supports customization options' but doesn't clarify scenarios where this tool is preferred over 'search_logos' or other potential tools. There's no mention of prerequisites, limitations, or typical use cases, leaving the agent with insufficient context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_logosA

Search for company logos by brand name or company name. Returns a list of matching companies with their domains and logo URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe brand or company name to search for (e.g., 'Google', 'Apple', 'Microsoft')

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the action ('search') and output ('returns a list of matching companies with their domains and logo URLs'), but lacks details on rate limits, authentication needs, or error handling. It adds basic context but is not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, consisting of two concise sentences that directly state the tool's purpose and output without any wasted words, making it efficient and easy to understand.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one parameter, no output schema, no annotations), the description is mostly complete, covering purpose and output. However, it could benefit from more behavioral details like search result limits or error cases, but it's adequate for a simple search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'query' well-documented in the schema. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 without adding extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('search for company logos') and resources ('by brand name or company name'), and distinguishes it from its sibling 'get_logo_url' by specifying it returns a list of matching companies with domains and logo URLs rather than a single logo URL.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('search for company logos by brand name or company name'), but does not explicitly state when not to use it or mention alternatives like the sibling tool 'get_logo_url', which might be for retrieving a specific logo rather than searching.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updates
    • First observedget_logo_url
    • First observedsearch_logos

TDQS

A3.5/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: get_logo_url retrieves a specific logo for a given domain with customization options, while search_logos finds logos by brand/company name and returns a list of matches. There is no overlap or ambiguity between them.

Naming Consistency5/5

Both tools follow a consistent verb_noun naming pattern (get_logo_url and search_logos), using snake_case throughout. The naming is predictable and readable, with no deviations in style.

Tool Count3/5

With only 2 tools, the server feels thin for a logo service domain. While the tools cover basic retrieval and search, more operations like logo validation, batch processing, or metadata access could enhance completeness. The count is borderline for the apparent scope.

Completeness3/5

The server provides core lookup functionality (get and search), but there are notable gaps. For a logo service, operations like logo upload, update, deletion, or analytics are missing, limiting lifecycle coverage. Agents can work around this for basic tasks but may fail on advanced workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to fetch company logos, brand colors, fonts, and corporate information from the Brandfetch API using domain lookups or keyword searches.
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Intelligently extracts and analyzes website logos from multiple sources (favicon, Apple Touch icons, OpenGraph, CSS) with automatic quality scoring and format support. Provides detailed logo information and returns the best logo URL for any given website.
    2
    23
    MIT

Latest Blog Posts

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/NOVA-3951/Logodev-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server