Skip to main content
Glama
langchain-ai

LangSmith MCP Server

Official
by langchain-ai

list_projects

Retrieve and filter LangSmith projects with customizable detail levels, enabling efficient project discovery and management.

Instructions

List LangSmith projects with optional filtering and detail level control.

Fetches projects from LangSmith, optionally filtering by name and controlling the level of detail returned. Can return either simplified project information or full project details. In case a dataset id or name is provided, you don't need to provide a project name.


🧩 PURPOSE

This function provides a convenient way to list and explore LangSmith projects. It supports:

  • Filtering projects by name (partial match)

  • Limiting the number of results

  • Choosing between simplified or full project information

  • Automatically extracting deployment IDs from nested project data


⚙️ PARAMETERS

limit : int, default 5 Maximum number of projects to return (as string, e.g., "5"). This can be adjusted by agents or users based on their needs.

project_name : str, optional Filter projects by name using partial matching. If provided, only projects whose names contain this string will be returned. Example: project_name="Chat" will match "Chat-LangChain", "ChatBot", etc.

more_info : str, default "false" Controls the level of detail returned: - "false" (default): Returns simplified project information with only essential fields: name, project_id, and agent_deployment_id (if available) - "true": Returns full project details as returned by the LangSmith API

reference_dataset_id : str, optional The ID of the reference dataset to filter projects by. Either this OR reference_dataset_name must be provided (but not both).

reference_dataset_name : str, optional The name of the reference dataset to filter projects by. Either this OR reference_dataset_id must be provided (but not both).


📤 RETURNS

List[dict] A list of project dictionaries. The structure depends on more_info:

**When `more_info=False` (simplified):**
```python
[
    {
        "name": "Chat-LangChain",
        "project_id": "787d5165-f110-43ff-a3fb-66ea1a70c971",
        "agent_deployment_id": "deployment-123"  # Only if available
    },
    ...
]
```

**When `more_info=True` (full details):**
Returns complete project objects with all fields from the LangSmith API,
including metadata, settings, statistics, and nested structures.

🧪 EXAMPLES

1️⃣ List first 5 projects (simplified)

projects = list_projects(limit="5")

2️⃣ Search for projects with "Chat" in the name

projects = list_projects(project_name="Chat", limit="10")

3️⃣ Get full project details

projects = list_projects(limit="3", more_info="true")

4️⃣ Find a specific project with full details

projects = list_projects(project_name="MyProject", more_info="true", limit="1")

🧠 NOTES FOR AGENTS

  • Use more_info="false" for quick project discovery and listing

  • Use more_info="true" when you need detailed project information

  • The agent_deployment_id field is automatically extracted from nested project data when available, making it easy to identify agent deployments

  • Projects are filtered to exclude reference projects by default

  • The function uses name_contains for filtering, so partial matches work

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
project_nameNo
more_infoNofalse
reference_dataset_idNo
reference_dataset_nameNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It does this excellently by explaining: default filtering behavior ('Projects are filtered to exclude reference projects by default'), how filtering works ('uses `name_contains` for filtering, so partial matches work'), and what happens with nested data ('The `agent_deployment_id` field is automatically extracted from nested project data when available').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (PURPOSE, PARAMETERS, RETURNS, EXAMPLES, NOTES) but is quite lengthy. While every section adds value, some redundancy exists (e.g., the initial summary repeats what's in the PURPOSE section). It could be more concise while maintaining clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, filtering logic, detail levels) and the presence of an output schema, the description is exceptionally complete. It explains the tool's behavior thoroughly, documents all parameters, provides return format examples for both detail levels, includes practical examples, and offers agent guidance. The output schema existence means the description doesn't need to exhaustively document return structures.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description fully compensates by providing comprehensive parameter documentation. Each of the 5 parameters is clearly explained with purpose, default values, examples, and usage constraints (e.g., 'Either this OR `reference_dataset_name` must be provided but not both'). The description adds significant value beyond what the bare schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'List LangSmith projects with optional filtering and detail level control.' It specifies the exact resource (LangSmith projects) and actions (list, filter, control detail). It distinguishes itself from siblings like list_datasets or list_experiments by focusing specifically on projects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool vs alternatives. The 'NOTES FOR AGENTS' section advises 'Use `more_info="false"` for quick project discovery and listing' and 'Use `more_info="true"` when you need detailed project information.' It also mentions sibling tools implicitly by specifying this is for projects, not datasets or other resources.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/langchain-ai/langsmith-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server