Skip to content

Commit ebbe9ad

Browse files
evantahlerCopilotnbarbettinitorresmateo
authored
Glossary (#361)
* basic glossary * new billing terms * Update pages/home/glossary.mdx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update pages/home/glossary.mdx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Authentication Provider docs * Update pages/home/glossary.mdx Co-authored-by: Nate Barbettini <nate@arcade.dev> * Update pages/home/glossary.mdx Co-authored-by: Nate Barbettini <nate@arcade.dev> * Update pages/home/glossary.mdx Co-authored-by: Nate Barbettini <nate@arcade.dev> * clarify pro tools * toolkit comes first * Update pages/home/glossary.mdx Co-authored-by: Nate Barbettini <nate@arcade.dev> * Update pages/home/glossary.mdx Co-authored-by: Nate Barbettini <nate@arcade.dev> * Update pages/home/glossary.mdx Co-authored-by: Nate Barbettini <nate@arcade.dev> * Update pages/home/glossary.mdx Co-authored-by: Nate Barbettini <nate@arcade.dev> * Update pages/home/glossary.mdx Co-authored-by: Nate Barbettini <nate@arcade.dev> * remove 'hybrid workers' * add TDK and Evals * Update pages/home/glossary.mdx Co-authored-by: Mateo Torres <mateo@arcade.dev> * Update pages/home/glossary.mdx Co-authored-by: Mateo Torres <mateo@arcade.dev> * Update pages/home/glossary.mdx Co-authored-by: Mateo Torres <mateo@arcade.dev> * fix link * Trigger Build * remove oxp --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Nate Barbettini <nate@arcade.dev> Co-authored-by: Mateo Torres <mateo@arcade.dev>
1 parent ab760db commit ebbe9ad

2 files changed

Lines changed: 170 additions & 0 deletions

File tree

pages/home/_meta.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,9 @@ export default {
140140
type: "separator",
141141
title: "Guides",
142142
},
143+
glossary: {
144+
title: "Glossary",
145+
},
143146
faq: {
144147
title: "FAQ",
145148
},

pages/home/glossary.mdx

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
---
2+
title: "Glossary"
3+
description: "Glossary of terms used in the Arcade platform"
4+
---
5+
6+
# Arcade Glossary
7+
8+
9+
## Agents and Tools
10+
11+
```mermaid
12+
graph TD
13+
A[Agent] --> B[Toolkit]
14+
B --> C[Tool]
15+
```
16+
17+
### Agent
18+
19+
An 'agent' is the application you are building. It can be a chatbot, a web application, a mobile app, or any other type of application that happens to use an LLM to as part of its functionality. Agents interact with the world by calling tools. Helping you build, test, authenticate, and deploy tools is what Arcade is all about.
20+
21+
### Toolkit
22+
23+
A 'toolkit' is a collection of tools that can be used by an agent, grouped logically together by a common theme or provider. Toolkits are the unit of deployment for tools within Arcade.
24+
25+
### Tool
26+
27+
A 'tool' is a function that can be called by an agent which performs some action - commonly via an API, filesystem, database, etc. Tools are written in Python and deployed by running a worker which contains the toolkit's code. Tools are defined by the `@tool()` decorator and will be passed `ToolContext` as the first argument. If a tool has dependencies that are not met (a secret is not provided, for example), the tool will fail to execute.
28+
29+
Tools are commonly referred to by a qualified name that includes their toolkit. For example, [Gmail.SendEmail](https://docs.arcade.dev/toolkits/productivity/gmail#gmailsendemail)
30+
31+
*Learn more about [tools](/home/build-tools/create-a-toolkit).*
32+
33+
### Tool Context
34+
35+
'Tool context' is an object that is passed to a tool as a parameter when the tool is executed. It contains information about the tool call, the user for which the tool is being called, and any secrets the tool requires to run.
36+
37+
*Learn more about [tool context](/home/build-tools/tool-context).*
38+
39+
### MCP (Model Context Protocol)
40+
41+
MCP is an open standard protocol that enables LLMs to access and use tools and data sources. Arcade tools go further than MCP with enterprise-grade authentication, secure token management, and fine-grained permissions. This allows your tools to be accessible to any LLM that supports MCP, while maintaining security and user privacy.
42+
43+
Arcade Tools can be presented as an MCP server (via the Arcade Engine), allowing any LLM that supports MCP to access your tools. In the future, you will be able to add remote MCP servers to your project as additional workers, making their tools available to your agents.
44+
45+
*Learn more about [MCP and Arcade](/home/mcp-overview).*
46+
47+
## The Arcade Platform
48+
49+
```mermaid
50+
graph TD
51+
A[Tenant] --> B[Project]
52+
B --> C[API Key]
53+
C --> D[Agent]
54+
Z[Account] --> B
55+
Z[Account] --> A
56+
```
57+
58+
### Account
59+
60+
The 'account' is you (or your teammates), the developer(s) who are using Arcade to build an application or agent. You can sign into the Arcade dashboard, manage projects, and more.
61+
62+
### Tenant
63+
64+
A 'tenant' is a collection of projects with unified billing details. It is the top-level unit of organization in Arcade. You can be a member of one or more tenants, and each tenant can have multiple projects.
65+
66+
### Project
67+
68+
A 'project' is a collection of agents and tools. It is smallest unit of organization and isolation in Arcade. You can have multiple projects, and each project can have multiple agents and tools. Accounts can be members of multiple projects, and each project will have different API keys.
69+
70+
### API Key
71+
72+
An 'API key' is a secret key that is used to authenticate requests to the Arcade API. It is used to identify the project that the request is for. API keys are project-specific.
73+
74+
## Authentication and Billing
75+
76+
```mermaid
77+
graph TD
78+
A[Arcade] --> B[Agent]
79+
B --> C[User]
80+
```
81+
82+
### User
83+
84+
A 'user' is your end-user, the person who is using your application or agent. Users are counted by the unique `user_id` properties sent when calling tools. `user_id` values are commonly email addresses, but can be any string or number.
85+
86+
### Monthly Active Users (MAU)
87+
88+
Monthly Active Users are the unique end-users (counted by `user_id`) who have executed a tool in your app/agent within the past month. If the same `user_id` calls a tool multiple times in the same month, or executes multiple tools, it is only counted once.
89+
90+
### Authentication Starts (Auth Starts)
91+
92+
Authentication Starts are the number of unique users (by `user_id`) who have started the authentication flow for a authentication provider. This is intended to be a proxy for the number of new users who are using your agent. The same user authenticating to multiple toolkits will be counted multiple times (e.g. once for Slack and once for Google). We also count the act of elevating permissions to a user who has already authenticated to a toolkit (e.g. adding a "write" scope when they previously only had a "read" scope).
93+
94+
### Authentication Provider
95+
96+
An 'authentication provider' is a service that your users can authenticate to grant the agent access to their data or to take actions on their behalf. This can be a hosted service provider like Google or Slack, or it can be a custom OAuth provider. Multiple Toolkits may share the same authentication provider (e.g. Gmail and Google Drive share the same Google OAuth authentication provider). Custom authentication providers are defined in the Arcade Dashboard or your Engine YAML if self-hosting.
97+
98+
*Learn more about [authentication providers](/home/auth-providers).*
99+
100+
### Authentication Scope
101+
102+
An 'authentication scope' is a permission that a user can grant to an agent. This is used to control what the agent can do with the user's data. Available authentication scopes are defined by the authentication provider, and each tool defines the scopes it requires.
103+
104+
Learn more about [authorized tool calling](/home/auth/auth-tool-calling).
105+
106+
107+
### Tool Executions
108+
109+
A 'tool execution' is a single call to a tool to interact with a remote system or service. The tool execution itself may fail (e.g. the user does not have permission to call the tool), but as long as the execution was able to be routed to a worker, the tool execution will be counted.
110+
111+
*Learn more about [tool executions](/home/use-tools/tools-overview).*
112+
113+
114+
### Standard and Pro Tool executions
115+
116+
Arcade tools are divided into 2 categories: Standard and Pro. While all tools have some cost for Arcade to run, Pro tools are significantly more costly - either due to infrastructure costs, the complexity of the tool, or a cost imposed by the provider of the tool. Pro tools cost more to execute and have different limits.
117+
118+
Learn more about tool pricing [here](https://www.arcade.dev/pricing).
119+
120+
### Bring Your Own Credentials (BYOC)
121+
122+
Bring Your Own Credentials (BYOC) is a feature that allows you to use your own credentials to certain pro tools. This changes the cost of the tool execution, as you will be charged directly by the provider of the tool, rather than relying on Arcade to pay the bill for you.
123+
124+
To set your own credentials, set the requisite secret within the Arcade Dashboard, overwriting the default 'static' credentials.
125+
126+
127+
## Tool Execution and Tool Development
128+
129+
```mermaid
130+
graph TD
131+
A[Agent] --> B[Arcade Client]
132+
B --> C[Arcade Engine]
133+
C --> D[Worker]
134+
```
135+
136+
### Arcade Client
137+
138+
The 'Arcade client' is the SDK that you use to interact with the Arcade platform. It is how your agent lists and calls tools, tied back to your project via an API key. We offer clients for many popular languages and frameworks, including Python, JavaScript, and more.
139+
140+
*Learn more about [the Arcade clients](/home/arcade-clients).*
141+
142+
### Arcade Engine
143+
144+
The Arcade Engine is the core of the Arcade platform. It is responsible for routing tool execution requests to the correct worker, managing the lifecycle of tool executions, and for enforcing security and authorization decisions.
145+
146+
The Arcade Engine is also responsible for the OAuth flow for your agent's users. This includes granting and elevating permissions and keeping tokens fresh.
147+
148+
### Worker
149+
150+
A 'worker' is a process that runs all the tools with a toolkit. Workers are microservices that are called by the Arcade Engine to handle tool execution requests. Workers are either [deployed to Arcade's infrastructure](https://docs.arcade.dev/home/serve-tools/arcade-deploy) via `arcade deploy`, or run in your own infrastructure.
151+
152+
*Learn more about workers [here](/home/hybrid-deployment/hybrid-worker).* and [here](/home/serve-tools/docker-worker).
153+
154+
### TDK (Tool Development Kit)
155+
156+
The Arcade TDK is a command-line application that helps you create, test, and deploy tools.
157+
158+
*Learn more about the TDK [here](/home/build-tools/create-a-toolkit).*
159+
160+
### Evaluations (Evals)
161+
162+
Evaluations are a way to test the LLMs' ability to select and call your tools. Arcade's eval suite can and should be run as part of the development process to ensure your tools are working as expected.
163+
164+
*Learn more about evaluations [here](/home/evaluate-tools/why-evaluate-tools).*
165+
166+
167+

0 commit comments

Comments
 (0)