MCP Server
Connect AI assistants like Claude, Cursor, and other MCP-compatible tools directly to Markidy. Search listings, send match requests, and manage conversations — all from within your AI assistant.
What is MCP?
Model Context Protocol (MCP) is an open standard that allows AI assistants to interact with external tools and data sources. The Markidy MCP Server lets AI agents search listings, send match requests, and manage workflows — all from within their native environment.
Setup
Connect any MCP-compatible AI assistant to Markidy. You'll need an API key from your dashboard.
Option 1 — NPX (stdio)
Most MCP clients support adding servers via a JSON config file. Add the following entry to your client's MCP configuration:
{
"mcpServers": {
"markidy": {
"command": "npx",
"args": ["-y", "@markidy/mcp-server"],
"env": {
"MARKIDY_API_KEY": "mk_your_api_key"
}
}
}
}Option 2 — Streamable HTTP
For clients that support HTTP-based MCP connections, or for custom integrations:
{
"mcpServers": {
"markidy": {
"url": "https://api.markidy.com/api/mcp",
"headers": {
"X-API-Key": "mk_your_api_key"
}
}
}
}Available Tools
20 tools covering the full Markidy API — organized by domain.
Account
get_my_channels ReadGet your connected communication channels. The markidy channel enables AI autonomous messaging via API.
Other channels (telegram, discord) connect users directly — AI cannot read or send messages on those.
get_my_webhooks ReadGet your registered webhooks and their IDs.
Categories
list_categories ReadBrowse all available categories and their roles.
get_category ReadGet category detail including roles and their required input fields for meta filtering.
key string Category keyListings
search_listings ReadSearch Markidy listings by keyword, category, role, or country.
q string? Search keywordcategory string? Category key (e.g. "design")role string? Role key (e.g. "logo_design")country string? Country code filter (comma-separated for multiple, e.g.
"US,JP")verified number? Minimum verified levelsort string? recent | views | requests | trust (default: recent)meta object? Field filters (requires category + role). Only SELECT,
NUMBER, DATE, GEO type fields are filterable — use get_category to discover field keys and types. SELECT: {"style":"minimalist"}, NUMBER/DATE:
use _min/_max suffix {"price_min":"50","price_max":"200"}, GEO: use _lat/_lng suffix (get coordinates via geocode) {"location_lat":"37.77","location_lng":"-122.42"}page number? Page number (default: 1)pageSize number? Results per page (default: 16, max: 50)get_listing ReadGet detailed listing information including meta fields, contact channels, and availability.
id string Listing IDget_my_listings ReadGet your own listings with status and meta information.
status string? Filter by status (ACTIVE, PAUSED, PENDING)page number? Page numbercreate_listing WriteCreate a new listing in a category and role.
categoryKey string Category keyroleKey string Role keymeta object Field values (key-value pairs)channels string[] Contact channels — only channels connected to your
account. Use get_my_channels to checkwebhookIds string[]? Webhook IDs to trigger on match requests. Use get_my_webhooks to get your IDsupdate_listing WriteUpdate listing meta fields or channels.
id string Listing IDmeta object Updated field valueschannels string[] Updated channels — only connected channels allowed. Use get_my_channels to checkwebhookIds string[]? Webhook IDs to trigger on match requests. Use get_my_webhooks to get your IDsupdate_listing_status WritePause or resume a listing.
id string Listing IDstatus string ACTIVE or PAUSEDdelete_listing WriteDelete a listing permanently.
id string Listing IDMatch Requests
send_match_request WriteSend a match request to a listing owner via their preferred channels.
listingId string Target listing IDchannels string[] Channel types (e.g. ["telegram"])message string Request message (max 500 chars)get_my_requests ReadCheck the status of your sent match requests.
listingId string? Filter by listingstatus string? PENDING, ACCEPTED, REJECTEDget_incoming_requests ReadView incoming match requests on your listing.
listingId string Your listing IDstatus string? PENDING, ACCEPTED, REJECTEDrespond_to_request WriteAccept or reject an incoming match request.
id string Match request IDstatus string ACCEPTED or REJECTEDreason string? Rejection reasonConversations
list_conversations ReadList your active conversations with other users.
listingId string? Filter by listingget_conversation ReadGet conversation details and message history.
id string Conversation IDbefore string? Cursor for paginationlimit number? Number of messagessend_message WriteSend a message in an existing conversation.
conversationId string Conversation IDbody string Message contentdelete_conversation WriteLeave a conversation. The other party will see otherLeft: true and can no longer send messages.
id string Conversation IDTools
geocode ReadConvert an address or place name to lat/lng coordinates. Use this before searching with GEO-type meta filters.
q string Address or place name (e.g. "San Francisco, CA")Usage Flows
Seeker Flow — Finding & Requesting
list_categoriesBrowse available categoriesgeocodeConvert address to lat/lng (for GEO fields)search_listingsSearch with filters (+ GEO meta)get_listingView detail & channelssend_match_requestSend request to ownerget_my_requestsPoll for statuslist_conversationsFind conversation (after accepted)send_messageSend a messageCreator Flow — Publishing
get_my_channelsCheck connected channelsget_categoryCheck required fieldsget_my_webhooksGet webhook IDs (optional)create_listingCreate listing → PENDINGManagement Flow — After Listing is Active
get_my_listingsCheck listing statusesget_incoming_requestsView incoming requestsrespond_to_requestAccept or rejectlist_conversationsFind conversation (after accepting)send_messageReply to requesterupdate_listing_statusPause / Resume listingupdate_listingUpdate meta → PENDING (re-review)delete_conversationLeave conversationdelete_listingDelete listingExample Conversation
Here's how an AI assistant might use Markidy MCP tools:
User: Find me a logo designer who specializes in minimalist styles
AI: I'll search Markidy for logo designers.
→ Calling search_listings(category: "design", role: "logo_design")
Found 3 results:
1. "Premium Brand Identity" by Alex — Verified Lv.2
2. "Creative Logo Design" by Jordan — Verified Lv.1
3. "Minimal Logo & Branding" by Sarah
Would you like to see details for any of these?
User: Tell me more about the first one
AI: → Calling get_listing(id: "clx...")
Alex — Premium Brand Identity
• Category: Design → Logo Design
• Verified Level: 2 (Premium)
• Available channels: telegram ✓, discord ✓
• Style: Minimalist, Modern
• Turnaround: 3-5 days
Shall I send a match request?Authentication
All MCP tools use your API key for authentication. Generate one from your Dashboard → API Keys page.
The same rate limits and usage tracking apply as the REST API. See Rate Limits for details.