You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`mcp_server`|`mcp-servers:read`, `mcp-servers:invoke`, `mcp-servers:update`, `mcp-servers:delete`. See [Fleet tool access control](/langsmith/fleet/access-and-oversight#tool-access-control). |
108
+
|`fleet_integration`|`mcp-servers:read`, `mcp-servers:invoke`. See [Fleet tool access control](/langsmith/fleet/access-and-oversight#tool-access-control). |
107
109
108
110
<Note>
109
111
Runs don't have their own tags. Run permissions (`runs:read`, `runs:create`, `runs:share`, `runs:delete`) are evaluated against the parent project's tags.
Copy file name to clipboardExpand all lines: src/langsmith/configure-input-output-preview.mdx
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ alt="Runs table showing the Format button at the top to configure input and outp
35
35
36
36
When you select a trace name, LangSmith loads a successful trace example and renders its structure as an expandable tree. Each node in the tree represents a field in your data, showing:
37
37
38
-
- Field names (e.g., messages, output, metadata).
38
+
- Field names (e.g., `messages` for LLM conversation history, `output`, `metadata`).
39
39
- Array indices (e.g., [0], [1], [-1] for last item).
40
40
- Item counts for arrays (e.g., (3) indicating 3 items).
41
41
- Preview values for strings and numbers displayed inline.
@@ -99,6 +99,8 @@ For example, your trace input is this:
99
99
}
100
100
```
101
101
102
+
In this example, `messages` is an array of message objects, each with a `role` (such as `system` or `user`) and a `content` field.
103
+
102
104
To display the user's question:
103
105
104
106
1. Expand the **messages** node (shows array items).
Copy file name to clipboardExpand all lines: src/langsmith/deploy-standalone-server.mdx
+8-17Lines changed: 8 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,23 +5,10 @@ icon: "server"
5
5
description: Deploy standalone Agent Servers using Docker, Docker Compose, or Kubernetes without the LangSmith control plane.
6
6
---
7
7
8
-
This guide shows you how to deploy **standalone <Tooltiptip="The server that runs your LangGraph applications.">Agent Servers</Tooltip>** without the LangSmith UI or control plane. This is the most lightweight self-hosting option for running one or a few agents as independent services.
9
-
10
-
<Warning>
11
-
This deployment option provides flexibility but requires you to manage your own infrastructure and configuration.
12
-
13
-
For production workloads, consider [self-hosting the full LangSmith platform](/langsmith/self-hosted) or [deploying with the control plane](/langsmith/deploy-with-control-plane), which offer standardized deployment patterns and UI-based management.
14
-
</Warning>
8
+
This guide shows you how to deploy **standalone <Tooltiptip="The server that runs your LangGraph applications.">Agent Servers</Tooltip>** directly, without using the [LangSmith control plane](/langsmith/deploy-with-control-plane). You can deploy the server independently and still use LangSmith separately for tracing and evaluation. Standalone servers are production-ready and provide the most lightweight self-hosting option for running agents.
15
9
16
10
<Note>
17
-
**This is the setup page for deploying Agent Servers directly without the LangSmith platform.**
18
-
19
-
Review the [self-hosted options](/langsmith/self-hosted) to understand:
20
-
-[Standalone Server](/langsmith/self-hosted#standalone-server): What this guide covers (no UI, just servers).
21
-
-[LangSmith](/langsmith/self-hosted#langsmith): For the full LangSmith platform with UI.
22
-
-[LangSmith Deployment](/langsmith/self-hosted#enable-langsmith-deployment): For UI-based deployment management.
23
-
24
-
Before continuing, review the [standalone server overview](/langsmith/self-hosted#standalone-server).
11
+
For an overview of self-hosted deployment options, see [self-hosted options](/langsmith/self-hosted).
25
12
</Note>
26
13
27
14
## Prerequisites
@@ -54,12 +41,14 @@ Before continuing, review the [standalone server overview](/langsmith/self-hoste
54
41
<aid="helm"></a>
55
42
## Kubernetes
56
43
57
-
Use this [Helm chart](https://github.com/langchain-ai/helm/blob/main/charts/langgraph-cloud/README.md) to deploy an Agent Server to a Kubernetes cluster.
44
+
Use this [Helm chart](https://github.com/langchain-ai/helm/blob/main/charts/langgraph-cloud/README.md) to deploy an Agent Server to a Kubernetes cluster. This is the recommended setup for production standalone server deployments.
58
45
59
46
The Helm chart (v0.2.6+) supports MongoDB checkpointing with a bundled instance (dev/testing) or an external deployment (production). Set `mongo.enabled: true` in your values file. See [Configure checkpointer backend](/langsmith/configure-checkpointer#deploy-by-environment) for full configuration details.
60
47
61
48
## Docker
62
49
50
+
This `docker` example is intended for local development and testing.
51
+
63
52
Run the following `docker` command:
64
53
65
54
```shell
@@ -82,7 +71,9 @@ and you should provide appropriate values for `REDIS_URI`, `DATABASE_URI`, and `
82
71
83
72
## Docker Compose
84
73
85
-
Docker Compose YAML file:
74
+
This Docker Compose example is intended for local development and testing.
Copy file name to clipboardExpand all lines: src/langsmith/fleet/access-and-oversight.mdx
+95Lines changed: 95 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,101 @@ This is configurable per agent, so you can choose the right model for each use c
30
30
31
31
For setup instructions, see [Agent identity](/langsmith/fleet/agent-identity).
32
32
33
+
## Tool access control
34
+
35
+
Fleet provides layered access control for tools, covering both **custom MCP servers** (user-added, workspace-scoped) and **built-in integrations** (platform-provided, such as Gmail, Slack, and GitHub):
36
+
37
+
-**[Role-based access control (RBAC)](#rbac-role-based-permissions)**: Controls access at the role level.
38
+
-**[Attribute-based access control (ABAC)](#attribute-based-access-control)**: Adds per-resource granularity on top of RBAC.
39
+
-**[Workspace integration policy](#workspace-integration-policy)**: Provides an admin-controlled enable/disable gate for built-in integrations.
40
+
41
+
<Note>
42
+
Tool access control is an Enterprise feature. If you are interested in this feature, [contact our sales team](https://www.langchain.com/contact-sales).
43
+
</Note>
44
+
45
+
### Role-based permissions
46
+
47
+
Role-based access control (RBAC) grants or denies access to all MCP servers and integrations in a workspace based on a user's role. Configure roles in **Settings > Roles**.
48
+
49
+
The following permissions are available for MCP servers and integrations:
50
+
51
+
| Permission | Description |
52
+
|------------|-------------|
53
+
|`mcp-servers:read`| Discover and list MCP servers and integrations |
54
+
|`mcp-servers:invoke`| Execute tools from MCP servers and integrations, including OAuth connect/disconnect |
55
+
|`mcp-servers:create`| Create new MCP server configurations |
56
+
|`mcp-servers:update`| Modify MCP server configurations |
57
+
|`mcp-servers:delete`| Remove MCP server configurations |
58
+
59
+
<Note>
60
+
A role with `mcp-servers:read` and `mcp-servers:invoke` can see and use all MCP servers and integrations in the workspace.
61
+
</Note>
62
+
63
+
For more on RBAC, see [Role-based access control](/langsmith/rbac).
64
+
65
+
#### Create a role with tool permissions
66
+
67
+
<Steps>
68
+
<Steptitle="Open role settings">
69
+
Navigate to **Settings > Roles** and click **Create role**.
70
+
</Step>
71
+
<Steptitle="Configure MCP Servers permissions">
72
+
Expand the **MCP Servers** section and select the permissions to include. For example, grant `Read` and `Invoke` for users who need to use tools but not manage server configurations.
73
+
</Step>
74
+
<Steptitle="Assign the role">
75
+
Assign the role to users in the workspace in **Settings > Members**.
76
+
</Step>
77
+
</Steps>
78
+
79
+
### Attribute-based access control
80
+
81
+
Attribute-based access control (ABAC) adds resource-level granularity on top of RBAC. Admins can tag individual MCP servers or integrations and create policies that grant or restrict access based on those tags.
82
+
83
+
ABAC operates on two resource types for tools:
84
+
85
+
| Resource type | Applies to |
86
+
|---------------|-----------|
87
+
|`mcp_server`| Custom MCP servers added to the workspace |
A role with no `mcp-servers:*` RBAC permissions can still be granted access to specific tagged resources (e.g. only Notion and Gmail) via an ABAC allow policy. Conversely, a role with broad RBAC access can be restricted from specific resources via an ABAC deny policy.
92
+
</Note>
93
+
94
+
For details on policy structure, operators, and managing policies via the API, see [Attribute-based access control](/langsmith/abac).
95
+
96
+
### Workspace integration policy
97
+
98
+
Built-in integrations have an additional control layer: a workspace-level enable/disable toggle managed from **Settings > Integrations > Access control**. This acts as an admin-controlled baseline that runs before per-user RBAC and ABAC.
99
+
100
+
If an integration is disabled at the workspace level, no user can access it regardless of their role or ABAC policies.
101
+
102
+
<Note>
103
+
The Access control page is only visible to admin users (requires `workspaces:manage` permission).
104
+
</Note>
105
+
106
+
### Policy evaluation order
107
+
108
+
The three layers evaluate in sequence. The evaluation order differs slightly between custom MCP servers and built-in integrations:
1.**Workspace policy gate** (integrations only): If the integration is disabled, access is denied. No further evaluation.
124
+
2.**ABAC deny**: If a deny policy matches, access is denied. Deny always wins.
125
+
3.**RBAC**: If the user's role grants the required permission, access is allowed (unless step 4 is needed).
126
+
4.**ABAC allow**: If RBAC does not grant access, an allow policy can still grant it for specific tagged resources.
127
+
33
128
## Observability and audit trail
34
129
35
130
Agent actions in Fleet are captured in a structured [LangSmith trace](/langsmith/observability), including tool calls, decisions, and outputs. You can inspect, search, and export traces.
Copy file name to clipboardExpand all lines: src/langsmith/fleet/essentials.mdx
+16-9Lines changed: 16 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ LangSmith Fleet essentials are the core features that make up the foundation of
7
7
8
8
## Agent identity
9
9
10
-
Agent identity controls whose [credentials](/langsmith/fleet/setup) the agent uses when it interacts with apps and services.
10
+
Agent identity controls whose [credentials](/langsmith/fleet/workspace-admin) the agent uses when it interacts with apps and services.
11
11
12
12
See [Agent identity](/langsmith/fleet/agent-identity) for more information.
13
13
@@ -91,19 +91,26 @@ To edit instructions:
91
91
You can also update instructions by prompting the agent directly in the chat. For example: "Update your instructions to always respond in bullet points."
92
92
</Tip>
93
93
94
-
## Memory and updates
94
+
## Memory
95
95
96
-
Agents remember important information from previous conversations and can update themselves to work better.
96
+
Agents remember important information from previous conversations and can update themselves to work better. Fleet agents use two sources of memory:
97
97
98
-
-**Memory**: Agents persist relevant details from past interactions by writing files to a **memories folder** (using `write_file` and `edit_file` tool calls). This lets them make better decisions in future conversations.
99
-
-**Self-updates**: Agents can add new tools, remove ones they don't need, or adjust their instructions to improve how they work.
100
-
-**What stays the same**: Agents can't change their name, description, or the channels that start them.
98
+
-**Thread-scoped memory**: Context from the current conversation thread, including messages and actions in that thread.
99
+
-**Long-term memory**: Persistent files in the agent workspace, such as `AGENTS.md`, `tools.json` (tool configuration), `subagents/*`, and `skills/*`. These are loaded at runtime and available from the start of each run. `AGENTS.md` is inserted into the system prompt automatically. Other long-term files are not added to the prompt automatically; the agent must read them on demand (for example, using the `read_file` tool).
100
+
101
+
Agents persist relevant details from past interactions by writing files to a **memories folder** (using `write_file` and `edit_file` tool calls). This helps them make better decisions in future conversations.
101
102
102
103
<Note>
103
-
By default, agents require approval before saving to the memories folder. You can disable this in the agent's settings. For agents that run on automated schedules (such as [schedules](/langsmith/fleet/schedules#add-a-schedule)), disable the approval requirement so the agent can persist information without manual intervention. See [Update memory](/langsmith/fleet/manage-agent-settings#update-memory) for instructions.
104
+
By default, agents require approval before saving to the memories folder. You can disable this in the agent's settings.
105
+
106
+
For agents that run on automated [schedules](/langsmith/fleet/schedules#add-a-schedule), we recommend [disabling the approval requirement](/langsmith/fleet/manage-agent-settings#disable-required-approval-for-memory-updates) so the agent can persist information without manual intervention.
104
107
</Note>
105
108
106
-
For more information, see [How we built Agent Builder's memory system](https://www.langchain.com/conceptual-guides/how-we-built-agent-builders-memory).
109
+
For more information, see [How we built the memory system for Fleet (formerly known as Agent Builder)](https://www.langchain.com/conceptual-guides/how-we-built-agent-builders-memory).
110
+
111
+
## Self-updates
112
+
113
+
Agents can update themselves: they can add new tools, remove ones they don't need, or adjust their instructions. However, agents can't change their name, description, or the channels that start them.
107
114
108
115
## Skills
109
116
@@ -173,7 +180,7 @@ Fleet traces all agent runs and stores them in LangSmith. LLM providers do not r
173
180
174
181
## Next steps
175
182
176
-
-[Set up your workspace](/langsmith/fleet/setup)
183
+
-[Set up your workspace](/langsmith/fleet/workspace-admin)
177
184
-[Connect apps and services](/langsmith/fleet/tools)
178
185
-[Use remote servers for tools](/langsmith/fleet/remote-mcp-servers)
179
186
-[Choose between workspace and private agents](/langsmith/fleet/manage-agent-settings)
0 commit comments