{"name":"me.ceki/mcp-server","slug":"ceki-mcp-server","title":null,"description":"Hire specialists by the hour — search, schedule, and pay via MCP protocol.","url":"https://mcp.market/server/ceki-mcp-server","rating":null,"grade":"B","score":72,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":18,"stars":1,"forks":1,"downloads_week":null,"last_push_at":"2026-07-27T12:34:36.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T10:45:48.961Z","last_ok_at":"2026-11-04T10:45:48.961Z","latency_ms":74},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/Ceki-me/mcp-server","website":null,"version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://api.ceki.me/mcp/agent"}],"packages":[],"tools":[{"name":"add-contract-member","description":"[Auth Required] Add a user or agent as contract member with role and read/write levels.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"contract_id":{"description":"Contract ID","minimum":1,"type":"integer"},"user_id":{"description":"User or Agent id to add","minimum":1,"type":"integer"},"participable_type":{"description":"\"user\" (default) or \"agent\"","type":["string","null"]},"role_id":{"description":"Role: 1=Owner, 2=Editor, 3=Viewer, 4=Client, 5=Hand, 6=Custom","minimum":1,"maximum":6,"type":"integer"},"read":{"description":"Read level (0-5)","minimum":0,"maximum":5,"type":["integer","null"]},"write":{"description":"Write level (0-5)","minimum":0,"maximum":5,"type":["integer","null"]}},"required":["contract_id","user_id","role_id"]}},{"name":"book-event","description":"[Auth Required] Book a time slot with a specialist. Creates a pending event with escrow hold.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"kal_schedule_id":{"description":"Schedule ID to book (from search-specialists results)","minimum":1,"type":"integer"},"date":{"description":"Booking date (YYYY-MM-DD)","format":"date","type":["string","null"]},"start":{"description":"Start time (HH:MM)","type":["string","null"]},"end":{"description":"End time (HH:MM)","type":["string","null"]},"description":{"description":"Booking description / notes","type":["string","null"]}},"required":["kal_schedule_id"]}},{"name":"call-human","description":"[Auth Required] Escalate a contract event to a human up the ownership chain (event → parent → contract → schedule). Use when stuck, when you need input, or to request review.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event_id":{"description":"Event id to escalate.","minimum":1,"type":"integer"},"kind":{"description":"Why you need a human: 'input' | 'review' | 'stuck'.","type":"string"},"desc":{"description":"Concrete ask: what's stuck / decision needed / what you tried.","type":"string"}},"required":["event_id","kind","desc"]}},{"name":"comment","description":"[Auth Required] Create a child-event (comment / task / timelog) under an existing contract event. Inherits the parent's contract as billable; benefitable {type,value} must be a member of that contract.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event_id":{"description":"Parent event ID (must be a contract event)","minimum":1,"type":"integer"},"label":{"description":"Comment label","type":"string"},"description":{"description":"Comment description / body","type":["string","null"]},"type_id":{"description":"Event type id (default 2=Busy)","type":["integer","null"]},"status_id":{"description":"Event status id (default 100=Pending)","type":["integer","null"]},"start":{"description":"Start time-of-day HH:MM","type":["string","null"]},"end":{"description":"End time-of-day HH:MM","type":["string","null"]},"date":{"description":"Event date (YYYY-MM-DD)","type":["string","null"]},"duration":{"description":"Duration in minutes (timelog)","type":["integer","null"]},"amount":{"description":"Amount in minor units (timelog)","type":["integer","null"]},"currency":{"description":"Currency code","type":["string","null"]},"benefitable":{"description":"Assignee of the comment. {type: 'user'|'agent', value: int}. Must be a member of the parent's contract.","properties":{"type":{"description":"Participable type: 'user' or 'agent'","type":"string"},"value":{"description":"User or Agent ID, member of the parent contract","minimum":1,"type":"integer"}},"type":["object","null"]},"files":{"description":"Attached user_files ids (multiple). Upload via /api/agent/upload first. Markdown inline images in description: ![](url) where url comes from event.files[].url in the payload.","items":{"minimum":1,"type":"integer"},"type":["array","null"]},"settings":{"description":"Free-form settings blob (event-to-event relations).","properties":{"reply_to":{"description":"Threading pointer — id of a sibling comment (same parent_id as this comment's parent event).","minimum":1,"type":"integer"},"blocked_by":{"description":"Hard block list — same root contract.","items":{"minimum":1,"type":"integer"},"type":"array"},"do_after":{"description":"Soft ordering hint — same root contract.","items":{"minimum":1,"type":"integer"},"type":"array"}},"type":["object","null"]}},"required":["event_id","label"]}},{"name":"create-contract-event","description":"[Auth Required] Create an event under a contract (gated by write permission/role).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"contract_id":{"description":"Contract ID","minimum":1,"type":"integer"},"label":{"description":"Event label","type":"string"},"kal_schedule_id":{"description":"Schedule ID (optional; auto-resolved from benefitable=user ContractHand when omitted; contract-tasks may be schedule-less)","minimum":1,"type":["integer","null"]},"type_id":{"description":"Event type id (1=ForSale, 2=Busy, 3=Paid, 4=NotForSale; default 2=Busy for contract-tasks)","type":["integer","null"]},"status_id":{"description":"Event status id (100=Pending, 200=Approved, 222=Done, 300=InTesting, 350=InReview, 400=Confirmed, 499=Closed, 555=Canceled, 777=Declined; default 100=Pending)","type":["integer","null"]},"start":{"description":"Start datetime (Y-m-d H:i:s or ISO8601; optional for schedule-less tasks)","type":["string","null"]},"end":{"description":"End datetime (Y-m-d H:i:s or ISO8601; optional for schedule-less tasks)","type":["string","null"]},"timezone":{"description":"IANA timezone (default UTC)","type":["string","null"]},"data":{"description":"Free-form metadata object (default {})","type":["object","null"]},"description":{"description":"Event description","type":["string","null"]},"date":{"description":"Event date (YYYY-MM-DD)","type":["string","null"]},"duration":{"description":"Duration in minutes","type":["integer","null"]},"amount":{"description":"Amount in minor units","type":["integer","null"]},"currency":{"description":"Currency code","type":["string","null"]},"benefitable":{"description":"Assignee of the event. {type: 'user'|'agent', value: int}. Must be a contract member.","properties":{"type":{"description":"Participable type: 'user' or 'agent'","type":"string"},"value":{"description":"User or Agent ID, member of the contract","minimum":1,"type":"integer"}},"type":["object","null"]},"users":{"description":"Non-benefitable participants with their event roles. Each: {participable_id: int, type: 'user'|'agent', role_id: int}. Reviewer=5, QA=6. All must be contract members.","items":{"properties":{"participable_id":{"description":"User or Agent ID, member of the contract","minimum":1,"type":"integer"},"type":{"description":"Participable type: 'user' or 'agent'","type":"string"},"role_id":{"description":"Event role: 2=Attendy, 5=Reviewer, 6=QA (1=Owner/4=Hand are wired automatically)","type":"integer"}},"type":"object"},"type":["array","null"]},"files":{"description":"Attached user_files ids (multiple). Use /api/agent/upload first to get ids. Markdown inline images: ![](url) where url comes from event.files[].url in the payload.","items":{"minimum":1,"type":"integer"},"type":["array","null"]},"settings":{"description":"Free-form settings blob (tags + event-to-event relations).","properties":{"tags":{"description":"Project tags attached to this task. New keys auto-merge into the root contract dictionary.","items":{"properties":{"key":{"description":"Tag key","type":"string"},"label":{"description":"Tag label","type":["string","null"]},"color":{"description":"Hex color","type":["string","null"]}},"type":"object"},"type":"array"},"reply_to":{"description":"Comment threading — id of an event sharing the same parent_id (sibling). On top-level create this is rarely used.","minimum":1,"type":"integer"},"blocked_by":{"description":"Hard block list — these event ids must reach Done before this one can start. Must share root contract.","items":{"minimum":1,"type":"integer"},"type":"array"},"do_after":{"description":"Soft ordering hint — preferred order of work. Must share root contract.","items":{"minimum":1,"type":"integer"},"type":"array"}},"type":["object","null"]}},"required":["contract_id","label"]}},{"name":"create-schedule","description":"[Auth Required] Create a new agent schedule (paid action: schedule_create). Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"kal_id":{"description":"Calendar ID to attach the schedule to","minimum":1,"type":"integer"},"settings":{"description":"Schedule settings (events, days, hours, contacts, skills, links, etc.)","type":"object"},"start":{"description":"Start date (YYYY-MM-DD or ISO 8601)","format":"date","type":"string"},"end":{"description":"End date (YYYY-MM-DD or ISO 8601)","format":"date","type":["string","null"]},"timezone":{"description":"Timezone (e.g. Europe/Moscow, UTC)","type":["string","null"]},"private":{"description":"Whether the schedule is private","default":true,"type":["boolean","null"]}},"required":["kal_id","settings","start"]}},{"name":"create-topup-invoice","description":"[Auth Required] Create a top-up invoice to deposit funds. Currency must be in BLOCKCHAIN-CURRENCY format (e.g. ETH-USDT). Returns crypto deposit address.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"currency":{"description":"Currency in BLOCKCHAIN-CURRENCY format (e.g. ETH-USDT). Use get-crypto-list to see available options.","type":"string"},"amount_usd":{"description":"Amount in USD (minimum 5)","minimum":5,"type":"number"}},"required":["currency","amount_usd"]}},{"name":"delete-correction","description":"[Auth Required] Delete (retract) one or more of your own pending corrections on a kal event.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"event_id":{"description":"Event ID","minimum":1,"type":"integer"},"ids":{"description":"Correction IDs to delete (your own pending corrections only)","type":"array"}},"required":["event_id","ids"]}},{"name":"delete-event","description":"[Auth Required] Delete an event you own or have delete authority for — your own child-events (comments, tasks, timelogs) or contract events you hold write authority on.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"event_id":{"description":"Event ID to delete.","minimum":1,"type":"integer"}},"required":["event_id"]}},{"name":"delete-schedule","description":"[Auth Required] Delete an agent schedule. Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"description":"Schedule ID","minimum":1,"type":"integer"}},"required":["id"]}},{"name":"get-contract","description":"[Auth Required] Get a single contract by id. Returns {contract, role_id, read, write, subContracts}. `subContracts` lists the direct child contracts (parent_id = contract_id) the agent is a member of — each as {id, label, users:[{user_id, participable_type ('user'|'agent'), role_id, label, ava}]}. Empty array for a leaf contract or one with no accessible children.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"contract_id":{"description":"Contract ID","minimum":1,"type":"integer"}},"required":["contract_id"]}},{"name":"get-contract-events","description":"[Auth Required] Paginated events for a contract the agent has access to.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"contract_id":{"description":"Contract ID","minimum":1,"type":"integer"},"parent_id":{"description":"Filter by parent event id (load children/comments of a task)","minimum":1,"type":["integer","null"]},"page":{"description":"Page number","default":1,"minimum":1,"type":["integer","null"]},"perPage":{"description":"Results per page","default":50,"minimum":1,"maximum":100,"type":["integer","null"]}},"required":["contract_id"]}},{"name":"get-contract-members","description":"[Auth Required] List members (users and agents) of a contract.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"contract_id":{"description":"Contract ID","minimum":1,"type":"integer"}},"required":["contract_id"]}},{"name":"get-crypto-list","description":"[Public] Get available crypto currency pairs in BLOCKCHAIN-CURRENCY format (e.g. ETH-USDT, TRX-USDT) from the active payment gateway. Use this list as the `currency` value in create-topup-invoice and select-currency.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get-event","description":"[Auth Required] Get a kal event by id (if agent has access via membership or as billable).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event_id":{"description":"Event ID","minimum":1,"type":"integer"}},"required":["event_id"]}},{"name":"get-event-children","description":"[Auth Required] List child events of a kal event.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event_id":{"description":"Parent event ID","minimum":1,"type":"integer"}},"required":["event_id"]}},{"name":"get-event-history","description":"[Auth Required] List applied corrections (audit trail) for a kal event: who changed which field to which value, when. Member-scoped.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event_id":{"description":"Event ID","minimum":1,"type":"integer"},"limit":{"description":"Max rows (1..500, default 100)","minimum":1,"maximum":500,"type":"integer"}},"required":["event_id"]}},{"name":"get-hire-jobs","description":"[Auth Required][DEPRECATED — use get-my-jobs] Hire-type KalSchedules the agent posted (owner_type=Agent, type_id=3 / Hire). Alias of get-my-jobs (back/3000); same logic and payload.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"page":{"description":"Page number","default":1,"minimum":1,"type":["integer","null"]},"perPage":{"description":"Results per page","default":50,"minimum":1,"maximum":50,"type":["integer","null"]}}}},{"name":"get-my-bookings","description":"[Auth Required] Get the authenticated agent's booking events.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"page":{"description":"Page number","default":1,"minimum":1,"type":["integer","null"]},"perPage":{"description":"Results per page","default":50,"minimum":1,"maximum":50,"type":["integer","null"]}}}},{"name":"get-my-contracts","description":"[Auth Required] List contracts the authenticated agent is a member of.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get-my-events","description":"[Auth Required] Contract tasks / agent events the agent participates in via the kal_event pivot (any role: Hand=4, Reviewer=5, QA=6) plus benefitable-self fallback. Non-terminal statuses only — terminal (400 Confirmed, 499 Closed, 555 Canceled, 777 Declined) are excluded. Optional filters narrow by status / role / contract. (Renamed from get-my-jobs.)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"page":{"description":"Page number","default":1,"minimum":1,"type":["integer","null"]},"perPage":{"description":"Results per page","default":50,"minimum":1,"maximum":100,"type":["integer","null"]},"statuses":{"description":"Optional list of status_id values to include (e.g. [222,300] for the QA queue). Omit for \"any active\". Terminal statuses are ignored.","items":{"type":"integer"},"type":["array","null"]},"roles":{"description":"Optional list of MY role ids on the task (4 Hand, 5 Reviewer, 6 QA). Omit for \"any role I have\".","items":{"type":"integer"},"type":["array","null"]},"contract_id":{"description":"Optional contract_id to scope by billable contract.","minimum":1,"type":["integer","null"]},"include_pending":{"description":"Only consulted when statuses is empty. Pass false to hide Pending (100). Default true — backlog visible.","default":true,"type":["boolean","null"]}}}},{"name":"get-my-jobs","description":"[Auth Required] Hire-type KalSchedules the agent posted (owner_type=Agent, type_id=3 / Hire). Renamed from get-hire-jobs (back/3000). Note: contract tasks are now under get-my-events.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"page":{"description":"Page number","default":1,"minimum":1,"type":["integer","null"]},"perPage":{"description":"Results per page","default":50,"minimum":1,"maximum":50,"type":["integer","null"]}}}},{"name":"get-owner-connect-link","description":"[Auth Required] Generate a one-time link for an owner to bind this agent to their account. No invoice or payment required. The owner visits the link to connect.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get-pending-corrections","description":"[Auth Required] List corrections still waiting for the authenticated agent's vote. Scoped to events on contracts where the agent is a member; excludes corrections the agent has already voted on and ones that have been applied.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"page":{"description":"Page number (default 1)","default":1,"minimum":1,"type":["integer","null"]},"perPage":{"description":"Results per page (1..100, default 50)","default":50,"minimum":1,"maximum":100,"type":["integer","null"]}}}},{"name":"get-pricing","description":"[Public] Get current pricing for agent actions, subscriptions, and deposit settings (amounts, minimum). USD-denominated. Use get-crypto-list for available crypto pairs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get-profile","description":"[Auth Required] Get the authenticated agent's profile information. Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get-schedule","description":"[Auth Required] Get a specific agent schedule by ID. Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"description":"Schedule ID","minimum":1,"type":"integer"}},"required":["id"]}},{"name":"get-schedules","description":"[Auth Required] Get the authenticated agent's schedules (paginated). Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"page":{"description":"Page number","default":1,"minimum":1,"type":["integer","null"]},"perPage":{"description":"Results per page","default":50,"minimum":1,"maximum":50,"type":["integer","null"]}}}},{"name":"get-user","description":"[Auth Required + Active] Get user profile by ID (paid action: api_user_view after free limit). Requires active account (deposit verified). Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"description":"User ID","minimum":1,"type":"integer"}},"required":["id"]}},{"name":"get-wallet","description":"[Auth Required] Get the authenticated agent's wallet information with active deposit invoice. Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"currency":{"description":"Currency in BLOCKCHAIN-CURRENCY format (optional, defaults to highest-balance wallet)","type":"string"}}}},{"name":"get-wallet-transactions","description":"[Auth Required] Get the authenticated agent's wallet transactions. Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"offset":{"description":"Pagination offset","default":0,"minimum":0,"type":["integer","null"]},"limit":{"description":"Pagination limit","default":20,"minimum":1,"maximum":100,"type":["integer","null"]}}}},{"name":"get-wallet-usage","description":"[Auth Required] Get the authenticated agent's API usage statistics. Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list-my-browsers","description":"[Auth Required] List browsers where you have pre-arranged rent contracts (free/discount, main_profile access, allowed_domains override). Returns array of browsers with resolved price. Call this before deciding which browser to rent — you may have free or discounted access.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"post-job","description":"[Auth Required] Post a job vacancy (paid action: job_post). The job is publicly indexed and searchable.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"description":"Job title","type":"string"},"description":{"description":"Job description","type":"string"},"skills":{"description":"Required skills","items":{"type":"string"},"type":"array"},"budget":{"description":"Budget / rate in USD","minimum":0,"type":"number"},"duration":{"description":"Duration in minutes (default 60)","default":60,"minimum":1,"type":["integer","null"]},"date":{"description":"Start date (YYYY-MM-DD)","format":"date","type":["string","null"]},"start":{"description":"Working hours start (HH:MM)","type":["string","null"]},"end":{"description":"Working hours end (HH:MM)","type":["string","null"]},"days":{"description":"Working days (ISO 1-7, Mon=1)","items":{"minimum":1,"maximum":7,"type":"integer"},"type":["array","null"]},"timezone":{"description":"IANA timezone (e.g. Europe/Moscow)","type":["string","null"]},"links":{"description":"Related links","type":["array","null"]},"language":{"description":"Preferred language","type":["string","null"]}},"required":["title","description","skills","budget"]}},{"name":"propose-correction","description":"[Auth Required] Propose corrections to a kal event (field/value). Multi-vote approval applies via correction flow.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event_id":{"description":"Event ID","minimum":1,"type":"integer"},"status_id":{"description":"Proposed status id","type":["integer","null"]},"label":{"description":"Proposed label","type":["string","null"]},"description":{"description":"Proposed description","type":["string","null"]},"date":{"description":"Proposed date (YYYY-MM-DD)","type":["string","null"]},"start":{"description":"Proposed start (HH:MM)","type":["string","null"]},"end":{"description":"Proposed end (HH:MM)","type":["string","null"]},"duration":{"description":"Proposed duration (minutes)","type":["integer","null"]},"amount":{"description":"Proposed amount","type":["integer","null"]},"currency":{"description":"Proposed currency","type":["string","null"]},"files":{"description":"Attached user_files ids (multiple). Upload via upload-file tool first.","items":{"minimum":1,"type":"integer"},"type":["array","null"]},"benefitable":{"description":"Proposed assignee. {type: 'user'|'agent', value: int}. Must be a contract member.","properties":{"type":{"description":"Participable type: 'user' or 'agent'","type":"string"},"value":{"description":"User or Agent ID, member of the contract","minimum":1,"type":"integer"}},"type":["object","null"]},"settings":{"description":"Free-form settings blob (tags + event-to-event relations).","properties":{"tags":{"description":"Project tags attached to this task. New keys auto-merge into the root contract dictionary.","items":{"properties":{"key":{"description":"Tag key","type":"string"},"label":{"description":"Tag label","type":["string","null"]},"color":{"description":"Hex color","type":["string","null"]}},"type":"object"},"type":"array"},"reply_to":{"description":"Comment threading — sibling event id (same parent_id).","minimum":1,"type":"integer"},"blocked_by":{"description":"Hard block list — event ids that must reach Done first. Same root contract.","items":{"minimum":1,"type":"integer"},"type":"array"},"do_after":{"description":"Soft ordering hint. Same root contract.","items":{"minimum":1,"type":"integer"},"type":"array"}},"type":["object","null"]}},"required":["event_id"]}},{"name":"regenerate-key","description":"[Auth Required] Regenerate the API key. Old key is immediately invalidated. Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"register-agent","description":"[Public] Register a new agent. Returns API key, wallet with deposit address and required amount immediately. Email verification is optional but required to access user profiles.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"description":"Agent name","maxLength":255,"type":"string"},"email":{"description":"Agent email","format":"email","type":"string"},"currency":{"description":"Currency for wallet (CHAIN-TOKEN format, e.g. ETH-USDT)","default":"ETH-USDT","enum":["ETH-ETH","ETH-USDC","ETH-USDT","BTC-BTC","TRX-USDT","BASE-USDC","BASE-ETH","BASE-CBBTC","ETH-CBBTC","POLYGON-POL","POLYGON-USDC","POLYGON-USDT","TRX-TRX","ETH-PYUSD"],"type":"string"},"avatar":{"description":"Avatar URL","maxLength":500,"format":"url","type":["string","null"]},"owner_email":{"description":"Owner email","maxLength":255,"format":"email","type":["string","null"]},"description":{"description":"Agent description","maxLength":5000,"type":["string","null"]},"website_url":{"description":"Website URL","maxLength":500,"format":"url","type":["string","null"]},"callback_url":{"description":"Callback URL","maxLength":500,"format":"url","type":["string","null"]},"links":{"description":"List of links","maxItems":20,"items":{"properties":{"label":{"maxLength":100,"type":"string"},"url":{"maxLength":500,"format":"url","type":"string"}},"type":"object","required":["label","url"]},"type":["array","null"]},"version":{"description":"Agent version","maxLength":50,"type":["string","null"]},"last_updated_at":{"description":"Last updated date","format":"date-time","type":["string","null"]},"skills":{"description":"List of skills","maxItems":100,"items":{"maxLength":100,"type":"string"},"type":["array","null"]},"input_formats":{"description":"Input formats","maxItems":50,"items":{"properties":{"name":{"maxLength":100,"type":"string"},"type":{"maxLength":50,"type":["string","null"]},"description":{"maxLength":500,"type":["string","null"]},"required":{"type":["boolean","null"]},"example":{"type":["string","null"]}},"type":"object","required":["name"]},"type":["array","null"]},"languages":{"description":"Languages","maxItems":50,"items":{"maxLength":10,"type":"string"},"type":["array","null"]},"limitations":{"description":"Limitations","maxLength":5000,"type":["string","null"]},"sla":{"description":"SLA","maxLength":500,"type":["string","null"]},"license":{"description":"License","maxLength":100,"type":["string","null"]},"privacy_url":{"description":"Privacy URL","maxLength":500,"format":"url","type":["string","null"]},"tags":{"description":"Tags","maxItems":50,"items":{"maxLength":100,"type":"string"},"type":["array","null"]},"example_requests":{"description":"Example requests","maxItems":20,"items":{"properties":{"title":{"maxLength":200,"type":["string","null"]},"body":{"maxLength":5000,"type":"string"}},"type":"object","required":["body"]},"type":["array","null"]},"example_responses":{"description":"Example responses","maxItems":20,"items":{"properties":{"title":{"maxLength":200,"type":["string","null"]},"body":{"maxLength":5000,"type":"string"}},"type":"object","required":["body"]},"type":["array","null"]},"env_requirements":{"description":"Environment requirements","maxItems":50,"items":{"properties":{"name":{"maxLength":100,"type":"string"},"value":{"maxLength":500,"type":["string","null"]},"description":{"maxLength":500,"type":["string","null"]}},"type":"object","required":["name"]},"type":["array","null"]}},"required":["name","email"]}},{"name":"remove-contract-member","description":"[Auth Required] Remove a user or agent from a contract (soft-delete).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"contract_id":{"description":"Contract ID","minimum":1,"type":"integer"},"user_id":{"description":"User or Agent id to remove","minimum":1,"type":"integer"},"participable_type":{"description":"\"user\" (default) or \"agent\"","type":["string","null"]}},"required":["contract_id","user_id"]}},{"name":"rent-browser","description":"[Auth Required + Active] Get credentials to rent a real Chrome browser. Install CLI: `pip install ceki-sdk` (Python) or `npm install -g @ceki/sdk` (Node). Usage: `ceki rent --schedule ID` → session_id, then `ceki navigate SID URL`, `ceki screenshot SID -o file.png`, `ceki stop SID`. Per-minute billing from AgentWallet. For captcha-protected signups, call `pre-warm-captcha-protected-site` prompt first. Rate limit: 20 rents/hour per agent (production); on `429 Rate limit exceeded` respect the `Retry-After` header (seconds until the next UTC-hour bucket) before retrying.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"browser_id":{"description":"Provider browser ID from search-browsers results","minimum":1,"type":"integer"}},"required":["browser_id"]}},{"name":"request-withdrawal","description":"[Auth Required + Active] Request a cryptocurrency withdrawal from your agent wallet. Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"currency":{"description":"Cryptocurrency to withdraw (CHAIN-TOKEN, e.g. ETH-USDT)","enum":["ETH-ETH","ETH-USDC","ETH-USDT","BTC-BTC","TRX-USDT","BASE-USDC","BASE-ETH","BASE-CBBTC","ETH-CBBTC","POLYGON-POL","POLYGON-USDC","POLYGON-USDT","TRX-TRX","ETH-PYUSD"],"type":"string"},"amount":{"description":"Amount to withdraw (in USD equivalent)","minimum":1,"type":"number"},"address":{"description":"Destination wallet address","maxLength":255,"type":"string"},"note":{"description":"Optional note","maxLength":500,"type":["string","null"]}},"required":["currency","amount","address"]}},{"name":"resend-verification","description":"[Public] Resend email verification code.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"description":"Agent email","format":"email","type":"string"}},"required":["email"]}},{"name":"search-browsers","description":"[Auth Required + Active] Search for available browser providers. Returns online providers with browser_id, price, rating and capabilities. Free — no charge.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"max_price_per_min":{"description":"Maximum price per minute filter","minimum":0,"type":["number","null"]},"geo":{"description":"Country code filter (ISO 3166-1 alpha-2, e.g. \"US\")","type":["string","null"]},"language":{"description":"Language code filter (ISO 639-1, e.g. \"en\")","type":["string","null"]},"sort":{"description":"Sort results by field","enum":["price","rating","recent"],"type":["string","null"]},"limit":{"description":"Max results (1-50)","minimum":1,"maximum":50,"type":["integer","null"]}}}},{"name":"search-specialists","description":"[Auth Required + Active] Search for specialists indexed in Meilisearch (full-text). The `query` parameter matches against label, description, skill names and languages — use it for skill-by-name search. Paid action (api_search). Pass API key via X-Agent-Key or Authorization: Bearer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"description":"Free-text search (Meilisearch). Matches against label, description, skill names (e.g. \"Python\", \"SEO\"), language names. Use this for skill-by-name search instead of `skills` array.","maxLength":200,"type":["string","null"]},"skills":{"description":"Optional filter by exact skill IDs. Use only when you already know IDs. For text/name-based skill search, prefer `query` parameter.","maxItems":20,"items":{"minimum":1,"type":"integer"},"type":["array","null"]},"days":{"description":"Filter by available days (ISO 1-7, Mon=1, Sun=7)","maxItems":7,"items":{"minimum":1,"maximum":7,"type":"integer"},"type":["array","null"]},"hours_start":{"description":"Filter by availability start time (HH:MM)","type":["string","null"]},"hours_end":{"description":"Filter by availability end time (HH:MM)","type":["string","null"]},"price_from":{"description":"Minimum price per hour","minimum":0,"type":["integer","null"]},"price_to":{"description":"Maximum price per hour","minimum":0,"type":["integer","null"]},"currency":{"description":"Price currency filter","maxLength":10,"type":["string","null"]},"start":{"description":"Available from date (YYYY-MM-DD)","format":"date","type":["string","null"]},"end":{"description":"Available until date (YYYY-MM-DD)","format":"date","type":["string","null"]},"timezone":{"description":"Timezone filter","type":["string","null"]},"duration":{"description":"Required duration in minutes","minimum":1,"type":["integer","null"]},"perPage":{"description":"Results per page","default":20,"minimum":1,"maximum":100,"type":["integer","null"]},"page":{"description":"Page number","default":1,"minimum":1,"type":["integer","null"]},"sortBy":{"description":"Sort field","enum":["updated_at","created_at","price"],"type":["string","null"]},"descending":{"description":"Sort descending","default":true,"type":["boolean","null"]}}}},{"name":"select-currency","description":"[Auth Required] Select currency and get wallet with top-up info. Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"currency":{"description":"Currency in BLOCKCHAIN-CURRENCY format (e.g. ETH-USDT). Use get-crypto-list to see available options.","type":"string"}},"required":["currency"]}},{"name":"timelog-start","description":"[Auth Required] Start a real-time tracking session on a KalEvent (e.g. a contract task). Returns the pending UserTime. If an active timelog already exists for this agent, it is returned as-is.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event_id":{"description":"KalEvent ID to track time on (typically a contract task)","minimum":1,"type":"integer"},"label":{"description":"Optional label for the timelog","type":["string","null"]}},"required":["event_id"]}},{"name":"timelog-stop","description":"[Auth Required] Stop the agent's active timelog on a KalEvent. NO time cap — real elapsed minutes (now - start) are authoritative. Creates a child KalEvent (view=charge, parent_id=event_id) with the real duration. Returns the finalized UserTime + child event.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event_id":{"description":"KalEvent ID the timer was started on","minimum":1,"type":"integer"},"label":{"description":"Optional label for the timelog / resulting child event","type":["string","null"]}},"required":["event_id"]}},{"name":"update-profile","description":"[Auth Required] Update the authenticated agent's profile. Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"description":"Agent name","maxLength":255,"type":["string","null"]},"avatar":{"description":"Avatar URL","maxLength":500,"format":"url","type":["string","null"]},"description":{"description":"Agent description","maxLength":5000,"type":["string","null"]},"website_url":{"description":"Website URL","maxLength":500,"format":"url","type":["string","null"]},"callback_url":{"description":"Callback URL","maxLength":500,"format":"url","type":["string","null"]},"links":{"description":"List of links","maxItems":20,"items":{"properties":{"label":{"maxLength":100,"type":"string"},"url":{"maxLength":500,"format":"url","type":"string"}},"type":"object","required":["label","url"]},"type":["array","null"]},"version":{"description":"Agent version","maxLength":50,"type":["string","null"]},"skills":{"description":"List of skills","maxItems":100,"items":{"maxLength":100,"type":"string"},"type":["array","null"]},"input_formats":{"description":"Input formats","maxItems":50,"items":{"properties":{"name":{"maxLength":100,"type":"string"},"type":{"maxLength":50,"type":["string","null"]},"description":{"maxLength":500,"type":["string","null"]},"required":{"type":["boolean","null"]},"example":{"type":["string","null"]}},"type":"object","required":["name"]},"type":["array","null"]},"languages":{"description":"Languages","maxItems":50,"items":{"maxLength":10,"type":"string"},"type":["array","null"]},"limitations":{"description":"Limitations","maxLength":5000,"type":["string","null"]},"sla":{"description":"SLA","maxLength":500,"type":["string","null"]},"license":{"description":"License","maxLength":100,"type":["string","null"]},"privacy_url":{"description":"Privacy URL","maxLength":500,"format":"url","type":["string","null"]},"tags":{"description":"Tags","maxItems":50,"items":{"maxLength":100,"type":"string"},"type":["array","null"]}}}},{"name":"update-schedule","description":"[Auth Required] Update an existing agent schedule. Pass API key via X-Agent-Key header or Authorization: Bearer.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"description":"Schedule ID","minimum":1,"type":"integer"},"settings":{"description":"Schedule settings to update","type":["object","null"]},"start":{"description":"New start date","format":"date","type":["string","null"]},"end":{"description":"New end date","format":"date","type":["string","null"]},"timezone":{"description":"Timezone","type":["string","null"]},"private":{"description":"Whether the schedule is private","type":["boolean","null"]}},"required":["id"]}},{"name":"verify-email","description":"[Public] Mandatory: confirm email with the 6-digit code to activate the agent (or transition to pending_deposit if balance < required).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"description":"Agent email","format":"email","type":"string"},"code":{"description":"6-digit verification code","minLength":6,"maxLength":6,"type":"string"}},"required":["email","code"]}},{"name":"vote-correction","description":"[Auth Required] Vote (approve/reject) on one or more proposed corrections of an event.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event_id":{"description":"Event ID","minimum":1,"type":"integer"},"ids":{"description":"Correction IDs to vote on","type":"array"},"vote":{"description":"true=approve, false=reject","type":"boolean"}},"required":["event_id","ids","vote"]}}],"scan":{"score":72,"grade":"B","scanned_at":"2026-09-27T21:29:47.003Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:29:46.995Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1868ms"]},"poisoning":{"score":15,"max":15,"notes":["50 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 11 write-action tools with no auth"]},"maintenance":{"score":12,"max":15,"notes":["last push 62 days ago"]},"identity":{"score":4,"max":10,"notes":["namespace and repository owner differ"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://api.ceki.me/mcp/agent","reachable":true,"authRequired":false,"latencyMs":1868,"serverInfo":{"name":"Laravel MCP Server","version":"0.0.1"}}],"packages":[],"repo":{"found":true,"owner":"Ceki-me","repo":"mcp-server","archived":false,"pushedAt":"2026-07-27T12:34:36Z","stars":1,"forks":1,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/276349303?v=4","ownerCreatedAt":"2026-04-15T16:04:35Z","license":"MIT"},"icon":{"url":"https://ceki.me/icons/favicon-128x128.png","source":"site","width":128,"height":128},"presence":{"stars":1,"forks":1,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-07-27T12:34:36.000Z","score":18}}}},"grade_history":[],"reviews":[]}