Koskamo

myFlohmarkt MCP

A public, read-only remote MCP server that allows agents to search German flea markets by text, city, postal code, date range, or radius. It provides event details and lists recently updated events via Streamable HTTP without requiring authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

myFlohmarkt MCP logo, by MyFlohmarktVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by MyFlohmarkt
MCP endpoint (Streamable HTTP)
https://mcp.my-flohmarkt.de/mcp
Vendor documentation

What its tools do

3 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

3 of 3 have a description · 3 of 3 declare behavior hints · 0 of 3 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to my-flohmarkt.de ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search for flea markets by city or postal code
  • Retrieve public details for a specific market event
  • List recently updated market events in the catalogue

Source and maintenance

Vendor evidenceRegistry 0.2.0

Protocol and capabilities

Server
myflohmarkt-public-catalog 0.2.0
MCP protocol negotiated in check
2025-11-25
Tools
3 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

3 advertised

search_events — Search flea markets in Germany
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search German flea markets (Flohmarkt, Trödelmarkt, Hofflohmarkt, Kinderflohmarkt, Antik- und Sammlermarkt) from the public my-flohmarkt.de catalogue. Filter by free text, by city name or postal code (PLZ) via the city argument, by date range, or by radius around a coordinate. Radius searches require lat, lng, and radiusKm together (max 100 km). Each hit carries title, date, start and end time, PLZ, city, coordinates, market type and the public event URL. Returns at most 50 results plus a dataAsOf timestamp.

search_events input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90
    },
    "lng": {
      "type": "number",
      "maximum": 180,
      "minimum": -180
    },
    "city": {
      "type": "string",
      "maxLength": 100
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "maxLength": 200
    },
    "dateTo": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "dateFrom": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "radiusKm": {
      "type": "number",
      "maximum": 100,
      "minimum": 1
    }
  }
}
search_events output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "items",
    "total",
    "totalIsLowerBound"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "lat": {
            "type": [
              "number",
              "null"
            ]
          },
          "lng": {
            "type": [
              "number",
              "null"
            ]
          },
          "plz": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "timeTo": {
            "type": [
              "string",
              "null"
            ]
          },
          "imageUrl": {
            "type": [
              "string",
              "null"
            ]
          },
          "timeFrom": {
            "type": [
              "string",
              "null"
            ]
          },
          "updatedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "marketType": {
            "type": [
              "string",
              "null"
            ]
          },
          "participants": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": {}
      }
    },
    "total": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0
    },
    "dataAsOf": {
      "type": [
        "string",
        "null"
      ]
    },
    "totalIsLowerBound": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
search_events annotations
{
  "title": "Search flea markets in Germany",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_event — Get flea market details
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the full public details of one German flea market by its UUID, as returned in the id field of search_events or recently_updated_events: description text, street address, date and opening times, market type and topics, entrance fee and seller stand fee, stand sizes and table rental, whether sellers can still sign up, and the public my-flohmarkt.de event URL. Use it when a search hit is not enough to answer about price, address or what is sold. Unknown or non-public UUIDs return not_found.

get_event input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  }
}
get_event output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "error": {
      "type": "string",
      "const": "not_found"
    },
    "event": {
      "type": "object",
      "required": [
        "id",
        "title",
        "url"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "fee": {
          "type": [
            "string",
            "null"
          ]
        },
        "lat": {
          "type": [
            "number",
            "null"
          ]
        },
        "lng": {
          "type": [
            "number",
            "null"
          ]
        },
        "plz": {
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "type": "string"
        },
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "date": {
          "type": [
            "string",
            "null"
          ]
        },
        "tags": {
          "anyOf": [
            {
              "type": "array",
              "items": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "scope": {
          "type": [
            "string",
            "null"
          ]
        },
        "title": {
          "type": "string"
        },
        "topic": {
          "type": [
            "string",
            "null"
          ]
        },
        "street": {
          "type": [
            "string",
            "null"
          ]
        },
        "timeTo": {
          "type": [
            "string",
            "null"
          ]
        },
        "orgType": {
          "type": [
            "string",
            "null"
          ]
        },
        "raumtyp": {
          "type": [
            "string",
            "null"
          ]
        },
        "sources": {
          "anyOf": [
            {
              "type": "array",
              "items": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "features": {
          "anyOf": [
            {
              "type": "array",
              "items": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "imageUrl": {
          "type": [
            "string",
            "null"
          ]
        },
        "timeFrom": {
          "type": [
            "string",
            "null"
          ]
        },
        "sellerFee": {
          "type": [
            "string",
            "null"
          ]
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ]
        },
        "marketType": {
          "type": [
            "string",
            "null"
          ]
        },
        "standSizes": {
          "anyOf": [
            {
              "type": "array",
              "items": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "entranceFee": {
          "type": [
            "string",
            "null"
          ]
        },
        "focusTopics": {
          "anyOf": [
            {
              "type": "array",
              "items": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "houseNumber": {
          "type": [
            "string",
            "null"
          ]
        },
        "participants": {
          "type": [
            "string",
            "null"
          ]
        },
        "publicNotice": {
          "type": "object",
          "required": [
            "kind",
            "sourceName",
            "sourceUrl",
            "observedAt"
          ],
          "properties": {
            "kind": {
              "type": "string",
              "const": "secondary_cancellation"
            },
            "sourceUrl": {
              "type": "string",
              "format": "uri"
            },
            "observedAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
            },
            "sourceName": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        },
        "primarySource": {
          "type": "object",
          "required": [
            "name",
            "url"
          ],
          "properties": {
            "url": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uri"
                },
                {
                  "type": "null"
                }
              ]
            },
            "name": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        },
        "tischausleihe": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "allowSellerSignup": {
          "type": [
            "boolean",
            "null"
          ]
        }
      },
      "additionalProperties": {}
    }
  },
  "additionalProperties": false
}
get_event annotations
{
  "title": "Get flea market details",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
recently_updated_events — List recently added or updated flea markets
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the most recently added or updated German flea markets in the public my-flohmarkt.de catalogue, newest change first. Use this to see what is new without a search query; use search_events when you know the city, PLZ, date range or area.

recently_updated_events input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1
    }
  }
}
recently_updated_events output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "lat": {
            "type": [
              "number",
              "null"
            ]
          },
          "lng": {
            "type": [
              "number",
              "null"
            ]
          },
          "plz": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "timeTo": {
            "type": [
              "string",
              "null"
            ]
          },
          "imageUrl": {
            "type": [
              "string",
              "null"
            ]
          },
          "timeFrom": {
            "type": [
              "string",
              "null"
            ]
          },
          "updatedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "marketType": {
            "type": [
              "string",
              "null"
            ]
          },
          "participants": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": {}
      }
    },
    "dataAsOf": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "additionalProperties": false
}
recently_updated_events annotations
{
  "title": "List recently added or updated flea markets",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
999 ms
95th percentile latency
999 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 999 ms · metadata changed · 3 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http myflohmarkt-mcp https://mcp.my-flohmarkt.de/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add myflohmarkt-mcp --url https://mcp.my-flohmarkt.de/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable myflohmarkt-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "myflohmarkt-mcp": {
      "url": "https://mcp.my-flohmarkt.de/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "myflohmarkt-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.my-flohmarkt.de/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start myflohmarkt-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "myflohmarkt-mcp": {
      "type": "http",
      "url": "https://mcp.my-flohmarkt.de/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http myflohmarkt-mcp https://mcp.my-flohmarkt.de/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.my-flohmarkt.de/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "myflohmarkt-mcp": {
      "serverUrl": "https://mcp.my-flohmarkt.de/mcp"
    }
  }
}

Let your agent find its tools

Find servers like myFlohmarkt MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run myFlohmarkt MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing