In MARA, tools act as the driving force behind creating workflows that turn your lab into a cutting-edge informatics hub. Our freemium release offers over 170 tools, with new ones in development; being updated and added weekly. The true power of MARA is its extensibility; if you have an API endpoint, MARA can interact with it!
Currently in our public beta, you gain access to 50 credits to run tools and the ability to create 10 different tools! Try it for yourself here.
For our enterprise customers, you have the flexibility to create custom tools tailored to your specific needs, allowing you to fully customize your workflows. With enterprise deployment, you can easily develop or integrate your existing tools using various methods. These tools become immediately accessible across your entire organization. Additionally, you can tap into our extensive library of built-in tools to enhance your workflows. To enquire about enterprise deployments contact us at: hello@nanome.ai.
Tool Creation
There are currently three ways of developing tools in MARA: python snippets, HTTP endpoints, and SQL queries. Alternatively, if needed you can also develop and write-up the code for your tool as JSON.
Every tool you develop becomes a rest API endpoint and when it has been fully developed and tested, it can then be made available to your organization.
Python Snippets
Write a snippet in python of your code that you want to implement into MARA or you can utilize AI to generate the code for you. MARA automatically creates and manages a sandbox environment to service your tools.
Moreover, you can use AI to generate the code for your tool so that you only have to worry about the prompts or the arguments for your tool.
HTTP Endpoints
Within MARA, you can quickly create a tool that can interact with any API endpoint making existing infrastructure or external software readily available to MARA.
SQL Queries
Make SQL queries accessible to everyone in your organization with reusable templates that allow you to create and share common queries. Generate SQL queries on the fly to answer specific questions, and construct SQL queries using natural language, making it easy for anyone to get the data they need.
Tool Creation Walkthrough
Tool Information
The first step in creating your tool is to Name and define the tool. Give it a description so others in your organization can easily see what task your tool performs. You can also define which category your tool belongs to; such as Data retrieval or informatics.
Prompts / Arguments
When entering the prompts or arguments for the tool, it's crucial to clearly define the parameters and inputs that the tool requires to function effectively.
Code
The next step in tool creation is generating your code, which involves developing the logic and functionality required for the tool to perform its intended tasks. For Python, you can write the code manually, leveraging Python's vast libraries and frameworks, or use the built-in AI generative system to assist in writing the code, which can speed up development.
When working with HTTP endpoint requests, you need to design and implement the appropriate API endpoints that will handle various types of HTTP requests (e.g., GET, POST, PUT, DELETE). These endpoints should be coded to process requests efficiently and return the appropriate HTTP status codes and JSON responses.
When dealing with SQL queries, you'll need to write and optimize SQL statements to interact with databases, ensuring data is retrieved, updated, inserted, or deleted correctly.
Test environment
Once you have developed a tool, it's important to test it in isolation to ensure it functions correctly and meets all performance standards. Isolated testing allows you to identify and address any bugs or issues without external interference, ensuring the tool operates as intended before it is released into your organization.
Want to try out tool development for yourself? Sign up to the public beta here and get 50 free credits!