RobotFrameworkLibrary-to-MCP
by noubar
This project provides a way to convert any Robot Framework library into an MCP (Message Channel Protocol) server. This allows you to interact with your Robot Framework libraries using MCP clients.
View on GitHub
Last updated: N/A
RobotFrameworkLibrary-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
Run the following Code in a py file in the root folder of library:
from src.LibraryName import LibraryName
a = LibraryName().to_mcp()
a.run(transport='stdio')
You can use it in any MCP Client Here is an example with vscode insiders
- press ctrl shift p and type MCP:Add Server
- Add the following lines
{
"mcp": {
"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
}
}
}
}
Thats it
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)