Meko MCP Server
The Meko MCP Server provides the primary tools for managing datapacks, conversations, memories, knowledge base, and related search.
To connect from IDEs and MCP-compatible clients, use the Meko MCP URL https://mcp.mekodata.ai/mcp and a user API key from Settings>API Keys. See Integrations and Quick start.
Free tier quotas
On the Free tier, MCP tool calls are metered per account:
| Metric | Limit (per month) | Example tools |
|---|---|---|
| Conversations | 1,000 | conversation_add_message |
| Retrievals | 10,000 | memory_search, knowledgebase_search |
When a quota is exceeded, further calls are blocked until you upgrade. Datapack creation and knowledge-base uploads are capped separately. See Meko pricing for the full plan table.
Tools
The Meko MCP Server provides 23 tools by default. Experimental conversation-search tools are hidden unless a deployment explicitly enables them.
Authorization comes from the authenticated user and their datapack grants.
Tool-level scope arguments ("read", "write", "admin") were retired. Don't send them on MCP tool calls. New clients no longer see scope in tool schemas. A temporary compatibility shim currently strips the obsolete argument from older clients and will be removed in a future release. Rerun the installer or install the current plugin from yugabyte/meko-skills so hooks and skills stop sending it. Installer flags such as --scope user|project are unrelated and remain supported.
| Use | For |
|---|---|
Conversationconversation_* |
Full saved chat history and thread replay. Example: Save or retrieve this chat |
Memorymemory_* |
Durable facts, preferences, decisions, and useful outcomes you want to recall across agents. Example: Remember this about me or the project |
Knowledge baseknowledgebase_* |
Reusable, persistent, indexed shared documents, and collective memories that can be searched across agents. Example: Search this in the knowledge base |
Datapackdatapack_* |
Provisioning and managing Meko workspaces/environments. Example: Create or manage a workspace |
Artifactartifact_* |
Uploading and retrieving files (reports, CSVs, PDFs, code output) for later or cross-agent access. Example: Save this file for later |
Conversation tools
| Tool | Description |
|---|---|
conversation_create |
Create a stored conversation container. Use this to save a chat/thread, not just a fact or document. Typical inputs: agent_id, session_id, datapack_id, title, run_id, metadata |
conversation_add_message |
Add a user/assistant turn to a stored conversation. The optional plan is an array of action strings.Use this to preserve full exchanges; Meko asynchronously extracts durable facts from the saved user turn. Typical inputs: conversation_id, input, output, agent_id, reasoning, plan, metadata, seed, datapack_id |
conversation_get |
Fetch an agent-owned conversation, optionally with messages. The supplied agent_id must own the conversation. Use this to review or replay a past conversation.Typical inputs: conversation_id, agent_id, include_messages, limit, offset, datapack_id |
conversation_list |
List conversations for a datapack across the current user's agent namespaces.agent_id is used for trace attribution, not result filtering.Typical inputs: datapack_id, conversation_id, agent_id, limit, offset |
conversation_update |
Update an agent-owned conversation's title or metadata. Use this when organizing or relabeling stored conversations. Typical inputs: conversation_id, agent_id, title, metadata, datapack_id |
conversation_delete |
Permanently delete an agent-owned conversation and all its messages. Use this to remove saved conversation history. Typical inputs: conversation_id, agent_id, datapack_id |
track_token_usage |
Record a token-usage observation against a conversation trace, so that LLM, embedding, or extraction spend is attributed for free-tier accounting and dashboards. Use this to pair a billable model call with a recorded usage entry. Typical inputs: conversation_id, name, input_tokens, output_tokens, total_tokens, model, message_id, datapack_id |
Memory tools
| Tool | Description |
|---|---|
memory_add |
Store durable facts, preferences, decisions, or useful outcomes. Use this for direct "remember this" requests, facts found only in assistant/tool output, and corrections. Saved conversation turns are extracted automatically. Typical inputs: text, conversation_id, agent_id, run_id, metadata, messages, datapack_id |
memory_search |
Search the current user's memories across agent namespaces and return related graph relations.agent_id is used for trace attribution, not result filtering; don't fan out one search per agent.limit sets the maximum number of returned results (default: 10); set a smaller value when you need fewer results to reduce response size and LLM context use.Typical inputs: query, conversation_id, agent_id, limit, datapack_id, run_id |
memory_get_all |
List the current user's memories across agent namespaces in a datapack.agent_id is used for trace attribution, not result filtering.Typical inputs: conversation_id, agent_id, datapack_id, promoted |
memory_get_by_id |
Retrieve a single memory by ID. Use this to inspect a memory. Typical inputs: memory_id, conversation_id, agent_id, datapack_id |
memory_update |
Replace the text of an existing memory. Use this to correct a remembered fact; agent_id must match the writer.Typical inputs: memory_id, text, conversation_id, agent_id, datapack_id |
memory_delete_by_id |
Delete one memory. Use this to remove a specific stored memory; agent_id must match the writer.Typical inputs: memory_id, conversation_id, agent_id, datapack_id |
memory_delete_all |
Delete memories for an agent, optionally narrowed by run ID. Use this for a full reset or broad cleanup. Typical inputs: conversation_id, agent_id, run_id, datapack_id |
memory_promote |
Move memories into the datapack's shared knowledge base and Collective Memory, removing them from the agent's private store. Before this one-way action, preview the exact memories, explain team visibility and private-memory removal, and get explicit confirmation. Only datapack owners and maintainers may promote. See Learnings. Typical inputs: conversation_id, memory_ids, agent_id, datapack_id |
Knowledgebase tools
| Tool | Description |
|---|---|
knowledgebase_search |
Perform hybrid semantic and keyword search over a datapack's knowledge base. Use this to search uploaded and shared documents. Typical inputs: query, conversation_id, datapack_id, agent_id, limit |
Datapack tools
| Tool | Description |
|---|---|
datapack_create |
Provision a new datapack. Use this to set up a new isolated Meko environment. Typical inputs: name, conversation_id, datapack_id |
datapack_describe |
Return datapack details and optional status. Use this to inspect an existing datapack. Typical inputs: datapack_id, include_status, conversation_id |
datapack_list |
List datapacks visible to the current user. Use this to see all workspaces/environments. Typical inputs: conversation_id, datapack_id |
datapack_update |
Update a datapack's name and/or description. At least one of name or description must be provided; clearing a description with an empty string isn't supported.Typical inputs: datapack_id, name, description, conversation_id |
datapack_delete |
Permanently delete a datapack. This operation is irreversible and requires an explicit datapack_id.Typical inputs: datapack_id, conversation_id |
Artifact tools
| Tool | Description |
|---|---|
artifact_put |
Upload a file artifact (report, CSV, PDF, code output, and so on) to a datapack for later retrieval or cross-agent sharing. Use this when an agent has generated a file it wants to persist. Uploading the same bytes twice is idempotent and returns the same content hash, which is the lookup key for artifact_get.Typical inputs: filename, content_base64, content_type, conversation_id, datapack_id, agent_id |
artifact_get |
Retrieve a previously uploaded artifact by its content hash. Use this when an agent needs to read back a file it, or another agent, previously stored using artifact_put. Files smaller than 1 MB are returned inline; larger files are written to the client's local artifact directory and returned by path.Typical inputs: content_hash, conversation_id, datapack_id, agent_id |