About RobotFrameworkLibrary-to-MCP
RobotFrameworkLibrary-to-MCP describes a way for developers to expose existing Robot Framework library keywords to MCP clients. Adding a to_mcp method registers the keywords as tools, and the server can run over stdio.
Key features
- 01Register library keywords as MCP tools
- 02Add a to_mcp method to a library
- 03Run the server over stdio
- 04Configure an MCP client connection
Use cases
- 01Connect an existing Robot Framework library to MCP
- 02Let MCP clients invoke library keywords
MCP support
The project explains how to register Robot Framework library keywords as MCP tools and run the server over stdio for MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMERobotFrameworkLibrary-to-MCP
How to turn any robot framework library to a mcp server
Here is How
- Clone your robot library
- open the folder and go to init.py, where the Library class with hybrid core or dynamic core is initiated.
(example)
from robotlibcore import DynamicCore class LibraryName(DynamicCore): def __init__(self): ... - Add the following function to the class
def to_mcp(self):
from mcp.server.fastmcp import FastMCP
mcp = FastMCP(self.__class__.__name__)
for kw in self.keywords.values():
mcp.add_tool(kw)
return mcp
You can use it in any MCP Client
- press ctrl shift p and type
MCP: Open Workspace Folder Configuration. (Click on create if does not exist) - Add the following lines
{
"servers": {
"LibName": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"C:\\somefolder\\ABS Path to The library Root",
"run",
"test.py"] # the new py file name where you run the server
}
}
}
You could run the following Code in a py file in the root folder of library:
from src.LibraryName import LibraryName
if __name__ == "__main__":
LibraryName().to_mcp().run(transport="stdio")
Or
Thats it
You can then check it under ctrl shift p with
MCP: List Servers
Demo
I will be documenting a demo using MailClientLibrary
from src.MailClientLibrary import MailClientLibrary
a = MailClientLibrary(Username="user", Password="pass", MailServerAddress="127.0.0.1", ImapPorts=[993,143], Pop3Ports=[995,110], SmtpPorts=[465,25]).to_mcp()
a.run(transport='stdio')
print(a)
CODEX
under project root folder add .cortex/config.toml file with the following input
[mcp_servers.mail-client]
command = "uv"
args = [
"--directory",
"C:\\Repos\\RobotFramework-MailClientLibrary",
"run",
"mail_mcp_server.py",
]
cwd = "C:\\Repos\\RobotFramework-MailClientLibrary"
open a new session and ask: ist all mcp servers you can access
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.