Muralists Directory

Search the curated directory of professional muralists and street artists in Europe.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
100%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (1)

  • LOWTool 'fetch' suggests web access but openWorldHint=falsein fetch

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,605Tokens (tool definitions)
~4.0 KBTypical response size
Moderate attention impact (1.25% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "directory": {
      "url": "https://mcp.muralists.eu/mcp"
    }
  }
}

Remote endpoints

https://mcp.muralists.eu/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_muralists(region, country, include_travel, style, query, ...)

Search a curated directory of muralists and street artists in Europe. Filter by country, city/region and style (e.g. abstract, figurative, lettering, photorealistic, geometric). Returns matching artists with portfolio highlights and profile URLs. Use this when someone wants to find, hire, or commission a mural artist.

Input Schema

{
  "type": "object",
  "properties": {
    "region": {
      "description": "City, province or region the artist is based in, e.g. 'Rotterdam', 'Noord-Holland', 'Berlin'. Matches city or region.",
      "type": "string"
    },
    "country": {
      "description": "Country, as an ISO 3166-1 alpha-2 code ('DE') or its Dutch name ('Duitsland'). By default matches where the artist is BASED.",
      "type": "string"
    },
    "include_travel": {
      "description": "With `country`: also return artists who will WORK there without being based there (they named the country, said 'all of Europe', or have a current or upcoming travel period there).",
      "type": "boolean"
    },
    "style": {
      "description": "Style label, e.g. abstract, figurative, lettering, photorealistic, geometric.",
      "type": "string"
    },
    "query": {
      "description": "Free text over name, tagline, bio, city and styles.",
      "type": "string"
    },
    "limit": {
      "default": 5,
      "description": "Maximum number of artists to return (1-10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Stable public identifier (the profile slug). Pass to get_muralist_profile."
          },
          "name": {
            "type": "string"
          },
          "city": {
            "type": "string",
            "description": "City the artist is based in."
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country the artist is based in."
          },
          "styles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Style labels, e.g. lettering, abstract, figurative."
          },
          "summary": {
            "type": "string",
            "description": "One-line description of the artist's work."
          },
          "notable_works": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Realized murals, as 'Title — City (Year)' labels."
          },
          "profile_url": {
            "type": "string",
            "description": "Absolute canonical URL of the public profile page."
          },
          "accepts_commissions": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "city",
          "country",
          "styles",
          "summary",
          "notable_works",
          "profile_url",
          "accepts_commissions"
        ],
        "additionalProperties": false
      }
    },
    "total_matches": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "How many artists matched before the limit was applied."
    }
  },
  "required": [
    "results",
    "total_matches"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_muralist_profile(id)

Get the full profile of a specific muralist from the Muralists directory: bio, styles, portfolio of realized works with locations, typical project types, and how to request a quote. Use after search_muralists to get details on a candidate.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The muralist's profile slug — the stable public identifier returned as `id` by search_muralists and used in the profile URL."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "bio": {
      "type": "string",
      "description": "The artist's own statement, in Dutch."
    },
    "city": {
      "type": "string"
    },
    "region": {
      "type": "string"
    },
    "country": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country the artist is based in."
    },
    "styles": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "years_active": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "is_pro": {
      "type": "boolean",
      "description": "Active paying member of the directory. Pro profiles rank first."
    },
    "works": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "location": {
            "type": "string",
            "description": "City where the mural was realized."
          },
          "year": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "image_url": {
            "type": "string"
          },
          "url": {
            "description": "Absolute URL of the mural's own page, when it has one.",
            "type": "string"
          }
        },
        "required": [
          "title",
          "location"
        ],
        "additionalProperties": false
      },
      "description": "Realized murals with location and year."
    },
    "profile_url": {
      "type": "string"
    },
    "contact_url": {
      "type": "string",
      "description": "Where to reach this artist — currently the public profile page."
    },
    "accepts_commissions": {
      "type": "boolean"
    },
    "how_to_commission": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "summary",
    "bio",
    "city",
    "country",
    "styles",
    "is_pro",
    "works",
    "profile_url",
    "contact_url",
    "accepts_commissions",
    "how_to_commission"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢search(query)

Search the Muralists directory of muralists and street artists by free text (name, city, style). Returns matching artists with their profile URLs. Use fetch with a returned id to read the full profile.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Free-text search query, e.g. 'lettering artist Utrecht'."
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass to fetch to read the full profile."
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "Absolute canonical URL of the profile page."
          }
        },
        "required": [
          "id",
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "results"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢fetch(id)

Retrieve the full text of one Muralists directory profile by id, for citation. Ids come from the search tool.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The profile id (slug) returned by search."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "text": {
      "type": "string",
      "description": "Plain-text rendering of the profile (Dutch)."
    },
    "url": {
      "type": "string",
      "description": "Absolute canonical URL of the profile page."
    },
    "metadata": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      },
      "description": "Extra fields: city, styles, pro status."
    }
  },
  "required": [
    "id",
    "title",
    "text",
    "url",
    "metadata"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools