Title: The use of robotlibraries as mcp server · Issue #157 · robotframework/PythonLibCore · GitHub
Open Graph Title: The use of robotlibraries as mcp server · Issue #157 · robotframework/PythonLibCore
X Title: The use of robotlibraries as mcp server · Issue #157 · robotframework/PythonLibCore
Description: There are several robot libraries implemented, which provide to robot additional functionalies (keywords). Those same keywords are potential candidates to be used as mcp.tools. Why should we implement the same functionality twice, let us...
Open Graph Description: There are several robot libraries implemented, which provide to robot additional functionalies (keywords). Those same keywords are potential candidates to be used as mcp.tools. Why should we implem...
X Description: There are several robot libraries implemented, which provide to robot additional functionalies (keywords). Those same keywords are potential candidates to be used as mcp.tools. Why should we implem...
Opengraph URL: https://github.com/robotframework/PythonLibCore/issues/157
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"The use of robotlibraries as mcp server","articleBody":"There are several robot libraries implemented, which provide to robot additional functionalies (keywords).\nThose same keywords are potential candidates to be used as mcp.tools. \nWhy should we implement the same functionality twice, let us use already implemented robot libraries as mcp servers.\n\nHere is a very simple example:\n\n```\nfrom mcp.server.fastmcp import FastMCP\n\n def to_mcp(self):\n mcp = FastMCP(self.__class__.__name__)\n for kw in self.keywords.values():\n mcp.add_tool(kw)\n return mcp\n```\ni have added these lines in the class after the init of an implemented library\nhttps://github.com/noubar/RobotFramework-MailClientLibrary/blob/55d63296c7e96236041f0ae3310a8bb0f141b3e6/src/MailClientLibrary/__init__.py#L90\n\nthis funcionality could also be directly added to the implementation of hybrid core\nhttps://github.com/robotframework/PythonLibCore/blob/90a62a07cc03c6760b68a5c797c2572c13a757b9/src/robotlibcore/core/hybrid.py#L121\n\nTo run the server localy\n```\nfrom src.MailClientLibrary import MailClientLibrary \na = MailClientLibrary().to_mcp()\na.run(transport='stdio')\n```\n\nAnd here it is running under vscode insiders version because the relaese version does not have this functionality yet\n\n","author":{"url":"https://github.com/noubar","@type":"Person","name":"noubar"},"datePublished":"2025-03-30T15:40:40.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/157/PythonLibCore/issues/157"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:c47a50b5-d816-6d92-6736-d9fc953e5e95 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 93DC:16F17F:2B76C:3D52E:69709E78 |
| html-safe-nonce | aed4933f357b777ccc4a10d291e54ce3419e7df2a70a984ba7c5f550a293522b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5M0RDOjE2RjE3RjoyQjc2QzozRDUyRTo2OTcwOUU3OCIsInZpc2l0b3JfaWQiOiI5MzkzMTgxMzY5MDcyNzU4OTYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | a2271fd5dabe74b1bcf8622643ca40719afd449ef913b4d5f8cca505e09dd334 |
| hovercard-subject-tag | issue:2958943307 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/robotframework/PythonLibCore/157/issue_layout |
| twitter:image | https://opengraph.githubassets.com/ad3c6e9079a6034b2fd540bb081394054e2d96c7a9cc9333bb0d431af0c0a0fb/robotframework/PythonLibCore/issues/157 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/ad3c6e9079a6034b2fd540bb081394054e2d96c7a9cc9333bb0d431af0c0a0fb/robotframework/PythonLibCore/issues/157 |
| og:image:alt | There are several robot libraries implemented, which provide to robot additional functionalies (keywords). Those same keywords are potential candidates to be used as mcp.tools. Why should we implem... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | noubar |
| hostname | github.com |
| expected-hostname | github.com |
| None | 9920a62ba22d06470388e2904804fb7e5ec51c9e35f81784e9191394c74b2bd2 |
| turbo-cache-control | no-preview |
| go-import | github.com/robotframework/PythonLibCore git https://github.com/robotframework/PythonLibCore.git |
| octolytics-dimension-user_id | 574284 |
| octolytics-dimension-user_login | robotframework |
| octolytics-dimension-repository_id | 80674254 |
| octolytics-dimension-repository_nwo | robotframework/PythonLibCore |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 80674254 |
| octolytics-dimension-repository_network_root_nwo | robotframework/PythonLibCore |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7d6181066430cc06553c8396ca201e194ae33cb9 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width