GnistAI GnistAI
Log in

Compose

Create and manage toolbelts — curated subsets of tools served as single MCP endpoints.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 10 tools tools 10 10 type: composite report type type composite report composite report lifecycle: hidden lifecycle lifecycle hidden hidden Platform

Data source: Internal registry

REST Bridge Endpoint https://context.gnist.ai/rest/compose/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (10)

list_available_servers

List all registered Gnist Context MCP servers.

Returns server name, mount path, tool count, description, and category
for every upstream data server available for toolbelt composition.

Returns:
Dict with a "servers" list. Each entry has:
- name: Display name (e.g. "GLEIF (LEI)")
- mount_path: Server path (e.g. "/gleif")
- tool_count: Number of tools in the server
- description: What the server provides
- category: Data category (e.g. "Finance", "Science")

Request Body
{
  "query": "example"
}
search_tools

Search all registered MCP tools by keyword or intent.

Results include a colon-namespaced tool_ref (e.g. "gleif:search_entities")
ready for use with create_toolbelt.

Args:
query: Natural language or keyword search.
top_n: Max results (default 10, max 20).

Returns:
Dict with matching tools, each including tool_ref for toolbelt use.

ParameterTypeRequiredDescription
querystringrequired
top_nintegeroptional (default: 10)
Request Body
{
  "query": "example"
}
create_toolbelt

Create a named toolbelt — a curated subset of tools served as one MCP endpoint.

The toolbelt becomes available at /mcp/{name}/ as a standard MCP server
containing only the selected tools, namespaced with colons.

Args:
name: URL-safe slug (3-64 chars, lowercase alphanum + hyphens).
tools: Tool refs in colon format (e.g. ["gleif:search_entities", "news:search_news"]).
Use search_tools to discover available refs.
description: Optional human-readable description.
validate: Check coupling dependencies (default true).
auto_complete: Automatically add hard dependencies (default false).
ttl_days: Auto-expire after N days. Null = no expiry.

Returns:
Created toolbelt with url, tool_count, warnings, and auto_added tools.

ParameterTypeRequiredDescription
namestringrequired
toolslist[string]required
descriptionstringoptional (default: "")
validatebooleanoptional (default: true)
auto_completebooleanoptional (default: false)
ttl_daysanyoptional
Request Body
{
  "name": "example",
  "tools": [
    "example"
  ]
}
list_toolbelts

List all saved toolbelts with name, url, tool count, and timestamps.

Returns:
Dict with count and toolbelts list.

Request Body
{
  "query": "example"
}
get_toolbelt

Get the full definition of a named toolbelt.

Args:
name: Toolbelt slug.

Returns:
Full toolbelt definition including tools, url, and coupling warnings.

ParameterTypeRequiredDescription
namestringrequired
Request Body
{
  "name": "example"
}
update_toolbelt

Add or remove tools from an existing toolbelt. The URL stays stable.

Args:
name: Toolbelt slug.
add_tools: Tool refs to add (colon format).
remove_tools: Tool refs to remove.
validate: Re-check coupling after changes (default true).

Returns:
Updated toolbelt definition, or error if not found.

ParameterTypeRequiredDescription
namestringrequired
add_toolsanyoptional
remove_toolsanyoptional
validatebooleanoptional (default: true)
Request Body
{
  "name": "example"
}
delete_toolbelt

Soft-delete a toolbelt. The endpoint stops serving immediately.

Args:
name: Toolbelt slug to delete.

Returns:
Confirmation or error.

ParameterTypeRequiredDescription
namestringrequired
Request Body
{
  "name": "example"
}
list_presets

List curated preset toolbelts — ready-to-use bundles for common use cases.

Presets are pre-configured toolbelts covering domains like Norwegian data,
financial research, academic research, business intelligence, and more.
Each preset is immediately available as an MCP endpoint at /mcp/{name}/.

Returns:
Dict with count and presets list. Each entry has name, description,
url, tool_count, and included servers.

Request Body
{
  "query": "example"
}
preview_toolbelt

Preview a toolbelt without saving. Estimates token cost and checks coupling.

Use this to evaluate a tool selection before committing to create_toolbelt.

Args:
tools: Tool refs in colon format.

Returns:
Tool count, estimated schema tokens, coupling warnings, and suggestions.

ParameterTypeRequiredDescription
toolslist[string]required
Request Body
{
  "tools": [
    "example"
  ]
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
Request Body
{
  "feedback": "example"
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/rest/compose/search_tools" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"query": "example"}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/rest/compose/search_tools",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={
  "query": "example"
},
)
print(resp.json())

Related Toolkits (Platform)

Resources