Menu

AI

MCP vs LangChain Tools: In-App Functions vs Shared Servers (2026)

LangChain tools are functions inside one agent; MCP tools live on servers any AI app can use. How they differ, and how LangChain now loads MCP tools natively.

By: Irina ShvayaOctober 28, 2026

MCP vs LangChain Tools: In-App Functions vs Shared Servers (2026)

This comparison is part of our MCP comparisons, within The MCP Guide. Facts are checked against each vendor's own documentation and pricing pages on the date shown.

Use LangChain tools for logic that only your LangChain agent needs. Use MCP when the same tools should work in many AI apps, such as Claude, ChatGPT, Cursor and your own agent. You do not have to choose one: as of October 2026, LangChain loads MCP tools natively and turns them into LangChain tools.

The two answer different questions. A LangChain tool is a function in your agent's code. An MCP tool lives on a server that any MCP client can discover and call.

Checked against: the LangChain tools docs, the LangChain MCP docs and the MCP tools specification (2026-07-28), on 28 October 2026.

Key Takeaways

  • A LangChain tool is a decorated Python function passed to a chat model inside your agent.
  • An MCP tool is exposed by a server and found at runtime with tools/list by any MCP client.
  • LangChain 1.4 added a built-in langchain.mcp namespace, in beta, with an MCPAdapter class built on FastMCP.
  • The older langchain-mcp-adapters package says it is "no longer actively maintained."
  • langchain.mcp covers MCP tools; it does not yet wrap MCP prompts or resources.
  • LangChain adds approvals through its human-in-the-loop middleware; the MCP spec says a human SHOULD be able to deny tool calls.

At a glance

LangChain toolsMCP tools
What it isA function in your agent codeA capability on a separate server
Who can use itAgents built with LangChainAny MCP client (Claude, ChatGPT, Cursor, your agent)
How it is defined@tool decorator; type hints are the schemainputSchema in JSON Schema, usually generated by an SDK
DiscoveryYou pass the list to create_agentClient sends tools/list at runtime
Where it runsIn your agent's processIn the server's process, local or remote
Access to agent stateYes, via ToolRuntimeNo; server sees only the call
Also offersMiddleware, memory, storesResources and prompts
AuthYour code's credentialsOptional OAuth 2.1 for HTTP servers
ApprovalsHumanInTheLoopMiddlewareHost's responsibility; spec says SHOULD
Package or speclangchain 1.4.7, MITMCP spec 2026-07-28

What a LangChain tool is

LangChain's tools page says "tools are callable functions with well-defined inputs and outputs that get passed to a chat model." The model "decides when to invoke a tool based on the conversation context."

You create one with the @tool decorator. The docstring becomes the description, and "type hints are required as they define the tool's input schema." The tool lives in your code, next to your agent.

What an MCP tool is

An MCP tool sits on an MCP server. Per the tools spec, clients "send a tools/list request" to learn what is available, then call a tool by name. Each tool has an inputSchema in JSON Schema.

The server can be a local process over stdio or a remote URL. Any MCP client can use it. Our guide to MCP tools explains the parts.

Where LangChain tools are stronger

Direct access to agent state. LangChain tools can take a ToolRuntime parameter to read "state, context, store." The docs say this parameter "is not included in the tool schema sent to the model." An MCP server cannot see your agent's conversation state.

No extra process. A LangChain tool is just a function. There is no server to run, host or secure. For one agent with a few private helpers, that is the simplest path.

Tight approval controls. The human-in-the-loop docs describe middleware that pauses tool calls by policy. A person can approve, edit, reject or respond. A when predicate can gate on the tool's arguments.

Memory built in. Tools can read and write LangGraph's long-term store and update short-term state. That suits multi-step agents that remember users.

Where MCP tools are stronger

Write once, use in many apps. An MCP server works with any MCP client. The same tool can serve Claude Desktop, Cursor, ChatGPT and your LangChain agent. A LangChain tool works only inside LangChain.

Separation of concerns. The tool's code, credentials and logs stay on the server. Your agent never holds the database password. Our page on remote vs local servers explains both models.

A shared catalog. The MCP project cited "10,000 active servers" in its December 2025 announcement. LangChain's own docs even run an MCP server at https://docs.langchain.com/mcp, per its MCP page.

Standard auth. The MCP authorization spec builds on OAuth 2.1 for HTTP servers. That lets each user sign in to a server as themselves.

More than tools. MCP servers can also offer resources and prompts. See our comparison of tools vs resources vs prompts.

How LangChain uses MCP today

This changed in 2026, so older tutorials may mislead you.

LangChain's MCP docs say agents call MCP tools through MCPAdapter, "which discovers a server's tools and adapts them into LangChain tools." It "is built on FastMCP." The langchain.mcp namespace "requires langchain[mcp]>=1.4.0 and is in beta."

MCPAdapter picks the transport from its target. An http or https URL uses Streamable HTTP. A script path launches over stdio. A config dict can hold several servers. The docs warn that a plain string "must be an http or https URL," because a string naming a local file could otherwise launch it.

The standalone langchain-mcp-adapters repository now says: "This repository is no longer actively maintained." Its MultiServerMCPClient is "collapsed into a single MCPAdapter class," per the migration guide.

There is one gap. The migration guide says langchain.mcp "focuses on tools and does not yet wrap MCP prompts or resources." It suggests reading them directly through the FastMCP client in the meantime. Our FastMCP vs official Python SDK page explains what FastMCP is.

Pricing

Both are free. LangChain is open source under the MIT licence, per PyPI. MCP is an open specification governed by the Agentic AI Foundation under the Linux Foundation.

Paid costs come from model usage, hosting MCP servers and any observability service you add.

Security and admin controls

Approvals. The MCP tools spec says "there SHOULD always be a human in the loop with the ability to deny tool invocations." In a LangChain agent, you supply that human through HumanInTheLoopMiddleware. Do not assume an MCP tool loaded into LangChain gets the approval prompt a desktop AI app might show.

Credentials. LangChain's MCP auth docs support a bearer token, "a full OAuth 2.1 flow," or any httpx.Auth. They recommend per-user auth in a deployment "so each run reaches the server as the caller."

Untrusted descriptions. Tool descriptions from a third-party MCP server go straight to your model. That is the path for tool poisoning. Load only servers you trust, and pin them.

Beta status. LangChain says the langchain.mcp API "may change." Pin versions and test upgrades.

Which to choose

Pick LangChain tools if:

  • Only your LangChain agent needs the tool.
  • The tool needs agent state, memory or the runtime context.
  • You want the fewest moving parts.

Pick MCP tools if:

  • Several AI apps or teams should share the same tools.
  • Credentials and logs should stay on a server, not in each agent.
  • A vendor already ships an MCP server for the system you need.
  • You may move off LangChain later and want portable tools.

Many teams do both: private helpers as LangChain tools, shared systems as MCP servers loaded through MCPAdapter. For more matchups, see our MCP comparisons.

Next step

List your tools and ask, for each one, "would another AI app ever need this?" The yes answers are MCP server candidates. If you want help building those servers, talk to our MCP development team.

Frequently asked questions

Can LangChain use MCP servers?

Yes. LangChain 1.4 and later include langchain.mcp, whose MCPAdapter connects to MCP servers and turns their tools into LangChain tools for create_agent. The namespace is in beta as of October 2026.

Is langchain-mcp-adapters deprecated?

Its README says it is "no longer actively maintained" and points to langchain[mcp]. LangChain publishes a migration guide from MultiServerMCPClient to MCPAdapter.

Can I expose my LangChain tools as an MCP server?

LangChain's migration guide lists the old adapters' to_fastmcp helper among features to stop and review, not as a langchain.mcp feature. The guide does not name a replacement. You can build a server with an MCP SDK or FastMCP and call your existing functions from it.

Do MCP prompts and resources work in LangChain?

Not through MCPAdapter yet. The migration guide says langchain.mcp does not yet wrap prompts or resources. You can read them through the FastMCP client directly.

You Might Also like to Read

Get a FREE Website Audit

Enter your website and get a 20–30 page SEO, GEO, AEO & CRO audit within 24 hours. Completely free.

Don't have a site yet? Get in touch →

Ready to speak with a marketing expert?
Give us a call! (916) 866-7893

Websites Launched
1407
Websites Launched
Marketing Experts
29
Marketing Experts
Hours of Dedicated Work
204533
Hours of Dedicated Work
Irina S.Benjamin G.Jeanette M.David G.