For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
GuidesReference
GuidesReference
    • Core
      • Overview
    • Agents
      • Overview
      • AgentBase
        • add_answer_verb
        • add_function_include
        • add_hint
        • add_hints
        • add_internal_filler
        • add_language
        • add_mcp_server
        • add_pattern_hint
        • add_post_ai_verb
        • add_post_answer_verb
        • add_pre_answer_verb
        • add_pronunciation
        • add_skill
        • add_swaig_query_params
        • as_router
        • auto_map_sip_usernames
        • clear_post_ai_verbs
        • clear_post_answer_verbs
        • clear_pre_answer_verbs
        • clear_swaig_query_params
        • define_contexts
        • define_tool
        • define_tools
        • enable_debug_events
        • enable_debug_routes
        • enable_mcp_server
        • enable_sip_routing
        • get_app
        • get_basic_auth_credentials
        • get_full_url
        • get_name
        • get_post_prompt
        • get_prompt
        • handle_serverless_request
        • has_skill
        • list_skills
        • manual_set_proxy_url
        • on_debug_event
        • on_function_call
        • on_summary
        • on_swml_request
        • prompt_add_section
        • prompt_add_subsection
        • prompt_add_to_section
        • prompt_has_section
        • register_routing_callback
        • register_sip_username
        • register_swaig_function
        • remove_skill
        • reset_contexts
        • run
        • serve
        • set_dynamic_config_callback
        • set_function_includes
        • set_global_data
        • set_internal_fillers
        • set_languages
        • set_native_functions
        • set_param
        • set_params
        • set_post_prompt
        • set_post_prompt_llm_params
        • set_post_prompt_url
        • set_prompt_llm_params
        • set_prompt_pom
        • set_prompt_text
        • set_pronunciations
        • set_web_hook_url
        • setup_graceful_shutdown
        • update_global_data
        • validate_basic_auth
      • AgentServer
      • BedrockAgent
      • CLI Tools
      • Configuration
      • ContextBuilder
      • DataMap
      • FunctionResult
      • Helper Functions
      • LiveWire
      • MCP Gateway
      • PomBuilder
      • Prefabs
      • Search
      • SkillBase
      • Skills
      • SWAIGFunction
      • SWMLBuilder
      • SWMLService
      • WebService
    • RELAY
      • Overview
      • Actions
      • Call
      • Constants
      • Events
      • Message
      • RelayClient
      • RelayError
    • REST Client
      • Overview
      • Addresses
      • Calling
      • Chat
      • Compat
      • Datasphere
      • Fabric
      • Imported Numbers
      • Logs
      • Lookup
      • MFA
      • Number Groups
      • Phone Numbers
      • Project
      • PubSub
      • Queues
      • Recordings
      • Registry
      • RestClient
      • Short Codes
      • SignalWireRestError
      • SIP Profile
      • Verified Callers
      • Video
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • Parameters
  • Returns
  • Example
AgentsAgentBase

add_mcp_server

|View as Markdown|Open in Claude|
Was this page helpful?
Edit this page
Previous

add_pattern_hint

Next
Built with

Connect the agent to an external Model Context Protocol (MCP) server. Tools are discovered via the MCP protocol at session start and automatically registered as SWAIG functions. Optionally, the server’s resources can be fetched into the agent’s global data.

This method connects your agent to an MCP server as a client. To expose your agent’s own tools as an MCP server, use enable_mcp_server().

Parameters

url
strRequired

MCP server HTTP endpoint URL.

headers
Optional[dict[str, str]]

Optional HTTP headers sent with every request to the MCP server (e.g., {"Authorization": "Bearer sk-xxx"}).

resources
boolDefaults to False

Whether to fetch the server’s resources into the agent’s global_data.

resource_vars
Optional[dict[str, str]]

Variables for URI template substitution when fetching resources. Supports SignalWire call variables such as ${caller_id_number}.

Returns

AgentBase — Returns self for method chaining.

Example

1from signalwire import AgentBase
2
3agent = AgentBase(name="assistant", route="/assistant")
4agent.set_prompt_text("You are a helpful assistant.")
5agent.add_mcp_server(
6 url="https://mcp.example.com/sse",
7 headers={"Authorization": "Bearer sk-xxx"},
8 resources=True,
9 resource_vars={"caller_id": "${caller_id_number}"}
10)
11agent.serve()