MCP-testing logo

MCP-testing

by cycloarcane

This repository explores integrating MCP tools (premade and custom) via `mcpo` with OpenWebUI. The current goal is to successfully call a premade MCP tool using `mcpo`'s config-based proxy and OpenWebUI.

View on GitHub

Last updated: N/A

What is MCP-testing?

This project focuses on integrating MCP (Modular Computation Protocol) tools with OpenWebUI using mcpo, a config-based proxy. It aims to provide a seamless way to access and utilize MCP tools within the OpenWebUI environment.

How to use MCP-testing?

To use this, first launch mcpo with the provided configuration file using the command uvx mcpo --port 8000 --api-key dev123 --config ./config.json. Then, configure OpenWebUI with the correct endpoint (Base URL: http://127.0.0.1:8000/time, OpenAPI URL: /openapi.json). Ensure the chat tool toggle is enabled and the chat model supports function calling. Finally, invoke the tool using the correct path: /time/get_current_time.

Key features of MCP-testing

  • Config-based proxy for MCP tools

  • Integration with OpenWebUI

  • Support for premade and custom MCP tools

  • Simplified tool access via API

  • Function calling support

Use cases of MCP-testing

  • Integrating time server functionality into OpenWebUI

  • Extending OpenWebUI with custom tools

  • Providing a unified interface for various MCP tools

  • Experimenting with different MCP tool configurations

  • Automating tasks using MCP tools within OpenWebUI

FAQ from MCP-testing

What does a 401 Unauthorized error mean?

This indicates an authentication issue. Ensure you are using the correct Authorization: Bearer dev123 header or have input the API key into OpenWebUI's API key field.

What does a 404 Not Found error mean?

This usually means the tool mount path is incorrect. Double-check that the tool functions are under /tool-name/function-name in config mode.

Why isn't the tool responding?

This is likely due to an incorrect Base URL in OpenWebUI, potentially still pointing at the root. Ensure it's set to http://127.0.0.1:8000/time.

What is mcpo?

mcpo is a config-based proxy that allows you to serve MCP tools via an API. It handles routing requests to the appropriate tool based on the configuration file.

What is the purpose of the config.json file?

The config.json file defines the MCP servers and their corresponding commands and arguments. It tells mcpo how to run each tool.