Skip to content

noubar/RobotFrameworkLibrary-to-MCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

RobotFrameworkLibrary-to-MCP

How to turn any robot framework library to a mcp server

Here is How

  1. Clone your robot library
  2. 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):
         ...
    
  3. 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

  1. press ctrl shift p and type MCP: Open Workspace Folder Configuration. (Click on create if does not exist)
  2. 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

image

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

About

How to turn any robot framework library to a mcp server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors