LangChain and LangGraph
The langchain-recruitmcp package connects to the RecruitMCP MCP server and returns its tools as LangChain tools. It reads your key from RECRUITMCP_KEY. Get a key in the console.
Install
pip install "langchain>=1.0" langchain-openai langchain-recruitmcplangchain is not a dependency of the toolkit itself. Install it for the agent example: create_agent is in langchain.agents from langchain 1.0.
List the tools
import asyncio
from langchain_recruitmcp import RecruitMCPToolkit
async def main():
tools = await RecruitMCPToolkit().aget_tools()
print([tool.name for tool in tools])
asyncio.run(main())Run an agent
import asyncio
from langchain.agents import create_agent
from langchain_recruitmcp import RecruitMCPToolkit
async def main():
tools = await RecruitMCPToolkit().aget_tools()
agent = create_agent("openai:gpt-4.1-mini", tools=tools)
result = await agent.ainvoke({"messages": [{"role": "user", "content": "Find backend engineers in Ghent, Belgium. Dry run only."}]})
print(result["messages"][-1].content)
asyncio.run(main())This needs OPENAI_API_KEY. Any LangChain chat model works. Every await sits inside main(), which asyncio.run starts, so the file runs as a plain script.
Options
| Argument | Default | What it does |
|---|---|---|
| api_key | RECRUITMCP_KEY | Your RecruitMCP key |
| sourcing_only | True | Leaves out outreach tools |
| include_billing | False | Leaves out billing tools such as set_auto_refill unless True (version 0.1.1 and later) |
| include | None | Keep only these tool names |
| exclude | None | Drop these tool names |
On version 0.1.0, pass exclude=["set_auto_refill", "get_auto_refill"] to keep billing tools away from the agent. The tools also depend on the key's scopes: the server lists only the tools the key allows.