Skip to main content

What is a tool?

A tool is the fundamental unit of work in MCPCore. It has:
  • A name — how the AI client identifies and calls it (e.g. fetch_repo_stats)
  • A description — plain-language explanation of what the tool does; the AI uses this to decide when to call it
  • Parameters — the typed inputs the AI passes at call time
  • Code — the JavaScript that runs when the tool is invoked
When the AI connects to your server, it receives the full list of tools with their schemas. It then decides autonomously which tools to call, in what order, and with what parameters.

Create a tool

1

Open the Tools tab

On the server detail page, click the Tools tab, then click New Tool.
New Tool button on the Tools tab
2

Name your tool

Choose a clear, descriptive name in lowercase snake_case:
GoodAvoid
fetch_user_ordersFetchUserOrders
send_slack_messagesendSlackMessage
query_inventory_dbtool1
The name appears in the MCP schema and in your analytics dashboard. It cannot contain spaces or special characters.
3

Write a description

The description is critically important — it’s what the AI reads to decide when to call your tool. Be specific.Good description:
Fetches the number of stars, forks, and primary language for a GitHub repository. Use when the user asks about repository statistics or open-source project metrics.
Weak description:
Gets GitHub data.
4

Add parameters

Define the inputs your code will receive via params.*. See Parameters for the full schema reference.
5

Write the code

Write JavaScript in the editor. The sandbox gives you access to sdk, params, env, and console. See Sandbox for the complete API.
Tool code editor with a sample function
6

Save

Click Save. The tool is live immediately on your server’s endpoint.

A minimal tool

// params.repo is a string like "anthropics/anthropic-sdk-python"
const res = await sdk.http({
  method: "GET",
  url: `https://api.github.com/repos/${params.repo}`,
  headers: {
    Authorization: `Bearer ${env.GITHUB_TOKEN}`,
  },
});

const data = JSON.parse(res.body());

return {
  stars:    data.stargazers_count,
  forks:    data.forks_count,
  language: data.language,
};
sdk.http() makes an HTTP request. env.GITHUB_TOKEN is a secret stored in the dashboard. params.repo is the value the AI passed at call time. The object you return is what the AI receives as the tool result.

Tool limits

LimitValue
Code size512 KB
Execution timeout30 seconds
Response payload4 MB
Parameters per tool50

Next steps