MCP ExplorerExplorer

Semantictool

@promptmeshon 9 months ago
6 MIT
FreeCommunity
AI Systems
#ai#llm#mcp#mcp-client#semantic-search#toolcalling
tool management service for performing vector tool calling at scale.

Overview

What is Semantictool

Semantic Tool is a microservice designed for dynamic discovery and invocation of external tools based on semantic similarity using vector embeddings.

Use cases

Use cases include automating tool calls in applications, integrating multiple tools for data processing, and enabling users to find and use tools through natural language descriptions.

How to use

You can use Semantic Tool by calling its API endpoints to list available tools, invoke specific tools by name and arguments, or find relevant tools through semantic similarity to a text query.

Key features

Key features include semantic tool search using vector-based matching, a REST API for tool invocation, and server management capabilities to register and list active MCP servers.

Where to use

Semantic Tool can be used in various fields such as software development, data analysis, and any domain requiring dynamic tool invocation based on natural language queries.

Content

Semantic Tool

Semantic Tool is a microservice designed for dynamic discovery and invocation of external tools based on semantic similarity. It leverages vector embeddings to allow natural language queries to match and invoke relevant tools from a registry.

Features

  • 🧠 Semantic Tool Search – Find tools using vector-based matching of descriptions.
  • 🧰 Tool Invocation API – Call tools directly via REST interface.
  • 🛰️ Server Management – Register and list available MCP servers.

API Overview

Tool Endpoints

  • GET /api/v1/tools/list: List all available tools.
  • POST /api/v1/tools/call: Invoke a tool by name and arguments.
  • POST /api/v1/tools/semantic: Find relevant tools by semantic similarity to a text query.

Server Endpoints

  • GET /api/v1/servers/list: List all active server sessions.

Configuration

Set config via a URL using CONFIG_LOCATION (default: file:///config.yaml).

Example config.yaml:

mcp_servers:
  timeserver:
    command: uvx
    args: ["mcp-timeserver"]
  searxng:
    command: uvx
    args: ["mcp-searxng"]
  wolframalpha:
    command: uvx
    args: ["mcp-wolfram-alpha"]
    env:
      WOLFRAM_API_KEY: "your_api_key"

embedding:
  model_name: "all-MiniLM-L6-v2"
  dim: 384

Installation

Local (via uv)

uv run semantictool

Docker (recommended)

docker compose up

Dependencies

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers