mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-17 18:19:51 +00:00
# What does this PR do? Changes: * Adds a new API to discover tools available on a runtime * Adds a new model context protocol provider ## Test Plan ``` # clone python sdk for mcp and start the simple-tool server uv run mcp-simple-tool --transport sse --port 56000 curl -X POST 'http://localhost:5000/alpha/toolgroups/register' \ -H 'Content-Type: application/json' \ -d '{ "tool_group": { "name": "simple_mcp_group", "type": "model_context_protocol", "endpoint": {"uri": "http://localhost:56000/sse"} }, "provider_id": "model-context-protocol" }' curl -X POST 'http://localhost:5000/alpha/tool-runtime/invoke' \ -H 'Content-Type: application/json' \ -d '{ "tool_id": "fetch", "args": { "url": "http://google.com/" } }' ```
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
# All rights reserved.
|
|
#
|
|
# This source code is licensed under the terms described in the LICENSE file in
|
|
# the root directory of this source tree.
|
|
|
|
from typing import List
|
|
|
|
from llama_stack.distribution.datatypes import (
|
|
AdapterSpec,
|
|
Api,
|
|
InlineProviderSpec,
|
|
ProviderSpec,
|
|
remote_provider_spec,
|
|
)
|
|
|
|
|
|
def available_providers() -> List[ProviderSpec]:
|
|
return [
|
|
InlineProviderSpec(
|
|
api=Api.tool_runtime,
|
|
provider_type="inline::brave-search",
|
|
pip_packages=[],
|
|
module="llama_stack.providers.inline.tool_runtime.brave_search",
|
|
config_class="llama_stack.providers.inline.tool_runtime.brave_search.config.BraveSearchToolConfig",
|
|
provider_data_validator="llama_stack.providers.inline.tool_runtime.brave_search.BraveSearchToolProviderDataValidator",
|
|
),
|
|
remote_provider_spec(
|
|
api=Api.tool_runtime,
|
|
adapter=AdapterSpec(
|
|
adapter_type="model-context-protocol",
|
|
module="llama_stack.providers.remote.tool_runtime.model_context_protocol",
|
|
config_class="llama_stack.providers.remote.tool_runtime.model_context_protocol.config.ModelContextProtocolConfig",
|
|
pip_packages=["mcp"],
|
|
),
|
|
),
|
|
]
|