<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-yang-nmrg-mcp-nm-04" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title>Applicability of MCP for the Network Management</title>
    <seriesInfo name="Internet-Draft" value="draft-yang-nmrg-mcp-nm-04"/>
    <author fullname="Yuanyuan Yang">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>yangyuanyuan55@huawei.com</email>
      </address>
    </author>
    <author fullname="Qin Wu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>bill.wu@huawei.com</email>
      </address>
    </author>
    <author fullname="Diego Lopez">
      <organization>Telefonica</organization>
      <address>
        <postal>
          <country>Spain</country>
        </postal>
        <email>diego.r.lopez@telefonica.com</email>
      </address>
    </author>
    <author fullname="Nathalie Romo Moreno">
      <organization>Deutsche Telekom</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>nathalie.romo-moreno@telekom.de</email>
      </address>
    </author>
    <author fullname="Lionel Tailhardat">
      <organization>Orange Research</organization>
      <address>
        <postal>
          <country>France</country>
        </postal>
        <email>lionel.tailhardat@orange.com</email>
      </address>
    </author>
    <author fullname="Shailesh Prabhu">
      <organization>Nokia</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>shailesh.prabhu@nokia.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <area>OPS and ART</area>
    <workgroup>Network Management Working Group</workgroup>
    <keyword>large language model</keyword>
    <keyword>model context protocol</keyword>
    <abstract>
      <?line 65?>

<t>The application of MCP in the network management field is meant to refactor network
management operation and network capabilities as tools and provide more agile and
extensible architecture to expose these AI integration capabilities. This document
discusses the applicability of MCP to the network management plane in the IP network
that utilizes IETF technologies. It explores MCP for network exposure, multiple MCP
server discovery, communication between Network Elements or between the Network
element and the Network Controller/Network Gateway.</t>
    </abstract>
  </front>
  <middle>
    <?line 75?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Model Context Protocol (MCP) decouples LLMs from tools and provides
   a standardized way for LLMs to access and utilize information from different
   data sources and tools, making it easier to build AI applications that can
   interact with external LLM models and software tools and enable workflows
   automation.</t>
      <t>MCP has seen rapid adoption across both startups and enterprises since it
   was announced in November 2024. Key use cases include AI coding assistants in
   IDEs, data analysis tools that can query databases, and productivity tools
   that can interact with services like Slack or Google Drive.</t>
      <t>The application of MCP for the network management is meant to refactor
   network management operation and network capabilities as tools and provide
   more agile and extensible architecture to expose or consume these AI
   integration capabilities.</t>
      <t>With integration of MCP into the network management system, it allows
   you to develop various AI-driven network applications, realize intent
   based network management, automate workflows in the multi-vendor
   heterogeneous network platform. By providing a common interface for tool discovery and invocation, MCP can support:</t>
      <ul spacing="normal">
        <li>
          <t>Unified operation abstraction through normalized MCP tool
definitions</t>
        </li>
        <li>
          <t>LLM integration through structured tool descriptions and calls</t>
        </li>
        <li>
          <t>Automation Execution Ability</t>
        </li>
      </ul>
      <t>This document discusses the applicability of MCP to the network
   management plane in the IP network that utilizes IETF technologies.
   It explores MCP for network exposure, multiple MCP server discovery,
   communication between Network Elements or between the Network element
   and the Network Controller/Network Gateway.</t>
    </section>
    <section anchor="terminology-notation-conventions">
      <name>Terminology &amp; Notation Conventions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The following terms are used throughout this document:</t>
      <section anchor="mcp">
        <name>MCP</name>
        <ul spacing="normal">
          <li>
            <t><strong>MCP Protocol</strong>: MCP is an open standard designed to facilitate communication
                  between LLMs and external data sources or tools.</t>
          </li>
          <li>
            <t><strong>MCP Host</strong>: The entity initiating the LLM request.</t>
          </li>
          <li>
            <t><strong>MCP Client</strong>: A built-in module within a host, specifically designed for
                interaction with the MCP server.</t>
          </li>
          <li>
            <t><strong>MCP Server</strong>: A dedicated entity that exposes tools, resources, or prompts to MCP clients.</t>
          </li>
          <li>
            <t><strong>CLI</strong>: Command Line Interface</t>
          </li>
        </ul>
      </section>
      <section anchor="others">
        <name>Others</name>
        <ul spacing="normal">
          <li>
            <t><strong>LLM</strong>: Large Language Model</t>
          </li>
          <li>
            <t><strong>NETCONF</strong>: Network Configuration Protocol <xref target="RFC6241"/></t>
          </li>
          <li>
            <t><strong>RESTCONF</strong>: RESTful Network Configuration Protocol <xref target="RFC8040"/></t>
          </li>
          <li>
            <t><strong>SNMP</strong>: A Simple Network Management Protocol <xref target="RFC3584"/></t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="value-mcp-nm">
      <name>The values of coupling MCP with the network management</name>
      <artwork><![CDATA[
 +---------------+        +---------------+
 |               |        |               |
 |  3rd Party    |        |  3rd-party    |
 |  AI Agent     |        | Tools/Contents|
 +-----/---\-----+        +---------------+
       |   |                   |   |
       |   | ----------------- \   /
      ///////                 \\\\\\\
    ||                               ||
  ||                                   ||
   |          MCP Eco-system           |
    ||                               ||
      \\\\\\\                 ///////
       /   \ -----------------  |   |
       |   |                    |   |
 +---------------+       +----- \---/----+
 |               |       |               |
 |  Network MCP  |       |  In-Network   |
 |   Server      |       |     Service   |
(network exposure)    (e.g.,Digital assistant)
 +---------------+       +---------------+
        /   \                   /   \
        |   |                   |   |
 +------+---+-------------------+---+----+
 |                                       |
 |       Network Intelligence            |
 |                                       |
 |  Agentic + MCP Architecture Paradigm  |
 |                                       |
 +---------------------------------------+

]]></artwork>
      <t>There are 3 values for MCP coupling with the network management</t>
      <ul spacing="normal">
        <li>
          <t>Network MCP Server support
          </t>
          <ul spacing="normal">
            <li>
              <t>Exposing network capabilities as tools provided by MCP Servers for 3rd-party AI Agents &amp; applications</t>
            </li>
          </ul>
        </li>
        <li>
          <t>In Network Service
          </t>
          <ul spacing="normal">
            <li>
              <t>Empowering network services by leveraging MCP ecosystem tools &amp; contents</t>
            </li>
            <li>
              <t>Network service as a unified interface to various and rich capabilities for network users</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Network Management Intelligence
          </t>
          <ul spacing="normal">
            <li>
              <t>Making network architecture really agile and friendly for innovation</t>
            </li>
            <li>
              <t>Decoupling network management functions into network agents and network tools</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="the-high-level-challenges-in-adopting-mcp-in-nm">
      <name>The high level Challenges in adopting MCP in NM</name>
      <ul spacing="normal">
        <li>
          <t>Protocol Design  </t>
          <ul spacing="normal">
            <li>
              <t>Error Handling      </t>
              <t>
o MCP distinguishes protocol errors from tool execution errors. Network management tools still need to report operation-specific failures, including partial execution of command sequences.</t>
            </li>
            <li>
              <t>Stateful      </t>
              <t>
o MCP supports stdio and Streamable HTTP. Streamable HTTP can use SSE and optional session identifiers; it does not require every exchange to use SSE. Implementations need to distinguish MCP session state from device CLI session state.</t>
            </li>
            <li>
              <t>Context Handling      </t>
              <t>
o Tool descriptions, retrieved documents, and tool results from multiple MCP servers can increase the amount of content supplied to the LLM. The host needs to select relevant content and limit its size to manage context-window usage.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Security Consideration  </t>
          <ul spacing="normal">
            <li>
              <t>Malicious Actors      </t>
              <t>
The protocol's ability to grant LLMs access to external systems introduces potential
vulnerabilities that require careful consideration      </t>
              <t>
o Prompt injection, where malicious instructions embedded in user inputs or tool
  descriptions could lead to unintended actions by the LLM;      </t>
              <t>
o Tool poisoning, where attackers modify tool definitions, or rug pulls (similar to
  tool poisoning but occurs post-installation);      </t>
              <t>
o Tool shadowing, where tools from different servers are confused during selection or routing. Hosts need to retain the association between a tool and its source server;</t>
            </li>
            <li>
              <t>Security enforcement      </t>
              <t>
o MCP defines an authorization framework for HTTP-based transports. Network management implementations still need to enforce permissions for the requested device and operation.</t>
            </li>
            <li>
              <t>Identity Management      </t>
              <t>
o Determining clear identity management - whether requests originate from the end user,
  the AI agent, or a shared system account - remains an area needing clearer definition.</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="mcp-for-network-exposure">
      <name>MCP for Network Exposure</name>
      <t>Network exposure is the process of making network capabilities, such as data and connectivity
services, available to external users, applications, and developers through secure APIs. It
allows for more agility and the creation of programmable networks. The MCP can be used to expose
network capabilities to AI applications or consume external sources for LLMs.</t>
      <section anchor="the-third-party-as-ietf-network-exposure-consumer">
        <name>The Third Party as IETF network Exposure Consumer</name>
        <artwork><![CDATA[
       3rd Party
  +------------------+
  |     Consumer     |
  |   +------------+ |
  |   |            | |       4. Authoriz and Consume
  |   | MCP Client <-+------------------------+
  +---+-+-------^--+-+                        |
    2.Discover  |3. List of                   |
    and Authz   | Available APIs              |
        |       |                             |
        |       |                             |
  +---+-V-------+--+------------+         +---V--------+
  |   | MCP Server |            |         |Tools       |
  |   +------------+            |1.Publish|+----------+|
  |                             <---------+|Simulation||
  |   Network Exposure Agent    |         ||  API     ||
  |   /Network Controller       |4. Authz |+----------+|
  | +---+   +---+ +---+         <--------->            |
  | |NF1|   |NF2| |NF3| ...     |         |+----------+|
  | +---+   +---+ +---+         |  Heart  ||Other APIs||
  |                             <--------->+----------+|
  +-----------------------------+  Beat   +------------+

]]></artwork>
        <t>Step 1: External tools or data source publish a set of APIs to MCP server in the Network
        Controller.</t>
        <t>Step 2: MCP client sends a specific tool request to discover tools and MCP Server provides
        authorization to the MCP client.</t>
        <t>Step 3: After successful authorization, MCP server returns the API list corresponding to the tool
        request sent by the MCP client.</t>
        <t>Step 4: MCP Client invokes tools with authorization.</t>
      </section>
      <section anchor="the-network-controller-consumes-external-sources">
        <name>The Network Controller Consumes external sources</name>
        <artwork><![CDATA[
                               +---------------+
                               |  Data Source  |
                               | +-----------+ |
                               | | MCP Server| |
                               +-+-----^-----+-+
                                       |2. Consume external sources
                                       |
                          +------+-----V-----+-----------+
                          |      | MCP Client|0.Preconfig MCP
  +--------------+        |      +-----------+  Server Address
  |     IETF     |1.MCP Service Request                  |
  |   Network    +-------->                              |
  |  Management  |3.MCP Service Response                 |
  |  AI Agents   <--------+                              |
  +--------------+        |                              |
                          |       Network Controller     |
                          |                              |
                          +------------------------------+

]]></artwork>
        <t>Step 0: MCP Client is preconfigured with the MCP Server address.</t>
        <t>Step 1: IETF Network Management AI Agent sends a MCP Service Request to
        the MCP client within the Network Controller.</t>
        <t>Step 2: The MCP client discovers tools provided by the external MCP server.</t>
        <t>Step 3: The MCP client provides the available tools list to the IETF Network Management
        AI Agent.</t>
      </section>
    </section>
    <section anchor="mcp-server-discovery">
      <name>MCP Server Discovery</name>
      <t>The MCP Server Discovery involves clients querying servers to find available tools,
resources, and functions. In case MCP servers are distributed in different locations,
MCP Repository can be established to keep track of the location of each MCP servers.</t>
      <section anchor="mcp-core-function">
        <name>MCP core function</name>
        <artwork><![CDATA[
          +------------+ 2.Discovery ---------------+
          | Agents     +-----------+      MCP       |
          |(MCP Client)+-----------+   Repository  |
          +-+----------+ 3. Authz  +--------^-------+
            |4. Consume                     |1.Registration
            | +-------------+---------------+-------+-
 +----------V-+       +-----+-------+        +------+------+
 |MCP Server 1|       |MCP Server 2 |        | MCP Server 3|
 +------------+       +-------------+        +-------------+
    -------                -----                  -----
 ///FM  PM \\\          ///     \\\            ///     \\\
|             |       ||  Memory   |         ||           |
| Routing  ACL|       |             |        |    Templates|
 \\\Policy ///        || Database  |         ||           |
    -------             \\\     ///            \\\     ///
                           -----                  -----

]]></artwork>
        <t>o MCP Repository:
  * Maintain the description of MCP servers
  * Support MCP server discovery for Client.</t>
        <t>o MCP client: consuming the services provided by MCP servers</t>
        <t>o MCP servers: including authentication/session/policy tools, the
  memory/prompts used for Agents</t>
      </section>
      <section anchor="procedure-for-multi-mcp-servers-discovery">
        <name>Procedure for Multi-MCP servers Discovery</name>
        <t>The following procedure illustrates a registry-based deployment. Registration and synchronization mechanisms are deployment-specific.</t>
        <artwork><![CDATA[
 +------------------+    +----------+   +-------+     +------+
 |Network Management|    |          |   |       |     |      |
 |    AI Agent      |    |  MCP     |   | MCP   |     |Tools |
 |   (MCP Client)   |    |Repository|   |Servers|     |      |
 +---------+--------+    +----+-----+   +---+---+     +---+--+
           |                  |             | 0. Sync the info of tools
           |                  |             |<------------+
           |                  |1. Registration            |
           |                  |<------------+             |
           |                  |             |             |
           |    +-------------+----------+  |             |
           |    |       Repository       |  |             |
           |    |MCP Server1:ID 1, Capability, Tools      |
           |    |                        |  |             |
           |    |MCP Server2:ID 2, Capability, Tools      |
           |    +------------- ----------+  |             |
           | 2.1 Discovery    |             |             |
           +------------------>             |             |
           |           +------+------+      |             |
           |           | Search for  |      |             |
           |           | Proper MCP  |      |             |
           |           | Server      |      |             |
                       +-------------+      |             |
           | 2.2 Address of MCP Server      |             |
           <------------------+             |             |
              3. oAuth Authz                |             |
           <------------------------------->|             |
           |  4. Consume Tools/Resources/Prompts          |
           +------------------+-------------|-------------|
                              |             |             |

]]></artwork>
        <t>Step 0: The MCP Server syncs up on the info of tools, when tools are added or removed,
        tools changes will be automatically synced up with the MCP server.</t>
        <t>Step 1: Each new MCP server will register to the centralized MCP registry.</t>
        <t>Step 2.1: MCP Client sends the MCP service request to the MCP registry for specific capability.</t>
        <t>Step 2.2: The MCP registry returns a specific MCP server to the MCP client.</t>
        <t>Step 3: The MCP Client request authorization from the MCP server.</t>
        <t>Step 4: The MCP Client invokes specific tools with authorization.</t>
      </section>
      <section anchor="network-management-capability-metadata">
        <name>Network Management Capability Metadata</name>
        <t>In MCP-based network management environments, exposed tools may
represent operationally sensitive network management actions,
including telemetry retrieval, diagnostics, configuration
modification, service provisioning, policy updates, or device
control operations. While the MCP repository maintains information
about MCP servers, tools, and capabilities, additional
network-management-specific capability metadata may improve
operational safety, interoperability, and automated decision-making.</t>
        <t>MCP repositories and MCP servers may associate tools with metadata
describing both functional capabilities and operational constraints
of the exposed capability as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Functional capability metadata:
operation type, operational scope, supported management
protocols, rollback support capability, and operational risk level.</t>
          </li>
          <li>
            <t>Operational constraint metadata
authorization requirements, human approval requirements, freshness indicators, and
synchronization version information.</t>
          </li>
        </ul>
        <t>Such metadata may assist MCP clients, AI agents, and orchestration
systems in evaluating the suitability, applicability, and
operational safety of MCP tools prior to authorization and
invocation, particularly in large-scale distributed network
management deployments.</t>
      </section>
    </section>
    <section anchor="deployment-consideration-in-adopting-mcp-in-the-network-management">
      <name>Deployment Consideration in adopting MCP in the Network Management</name>
      <t>This section describes MCP deployment requirements for network management environments,
followed by implementation scenarios. Key architectural requirements include:</t>
      <ul spacing="normal">
        <li>
          <t>Function-Specific MCP Servers:
To maintain proper architecture and performance with growing tool volumes, servers
should be categorized by network management functions. Typical categories include
network log analysis, device configuration management, energy consumption management,
and security operations, etc.</t>
        </li>
        <li>
          <t>Secure and Scalable Architecture: The architecture must:  </t>
          <ul spacing="normal">
            <li>
              <t>Enforce strict access controls limiting MCP operations to authorized AI models and users</t>
            </li>
            <li>
              <t>Scale efficiently with increasing number of network devices while maintaining performance</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Automated Workflows: MCP implementations should support LLM-coordinated automation of:  </t>
          <ul spacing="normal">
            <li>
              <t>Real-time monitoring and diagnostics</t>
            </li>
            <li>
              <t>Fault remediation workflows</t>
            </li>
            <li>
              <t>Other common management operations to reduce operator workload</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>While these core requirements apply universally, operational characteristics vary based
on deployment location. The following subsections detail these deployment scenarios.</t>
      <section anchor="network-element-inter-communication-using-mcp">
        <name>Network Element Inter-Communication using MCP</name>
        <t>In this network scenario, the MCP client is deployed in one smart network element
while the MCP server is deployed in another smart network element. The MCP client
communicates with the MCP server using the MCP protocol and invokes specific tools
and gets access to specific data in the network element as a data source.
In addition, human operator can use natural language to interact with smart network
element to investigate protocol troubleshooting information.</t>
        <t>Network elements usually have limited resources (CPU, memory, etc.). Deploying MCP
Client together with SLM may occupy a large amount of resources, affecting the
normal operation of the device.</t>
        <artwork><![CDATA[
         Human Operator
              |
              |
          Natural Language               Data Source
  +-----------+-------------+     +-------------------------+
  |   +-------+----------+  |     |   +------------------+  |
  |   |Routing Protocol  |  |     |   |Routing Protocol  |  |
  |   |       Agent      |  |     |   |       Agent      |  |
  |   |+---+ +----------+|  |     |   | +----------+     |  |
  |   ||SLM| |MCP Client++--+-----+---+->MCP Server|     |  |
  |   |+---+ +----------+|  |     |   | +----------+     |  |
  |   +------------------+  |     |   +------------------+  |
  +-------------------------+     +-------------------------+
    Smart Network Element           Smart Network Element


]]></artwork>
      </section>
      <section anchor="network-controller-consumes-api-or-data-source-using-mcp">
        <name>Network Controller consumes API or Data source using MCP</name>
        <t>In this network scenario, the MCP client is deployed in the network controller
while the MCP server is deployed in either the 3rd party management system or
external data source. The MCP client communicates with the MCP server using
the MCP protocol and invokes specific tools and gets access to specific data in
the 3rd party management system or external data source.</t>
        <artwork><![CDATA[
+------------------------+     +------------+
|                        |     | 3rd party  |
|   Network Controller   |     | Management |
|              +-------+ |     |    System  |
|              |  MCP  +-+--+  |+----------+|
|              | Client+-+--+--->MCP Server||
|              +-------+ |  |  |+----------+|
|                        |  |  +------------+
|                        |  |
|                        |  |  +------------+
|                        |  |  |            |
|                        |  |  |Data Source |
|                        |  |  |+----------+|
|                        |  |--->MCP Server||
|                        |     |+----------+|
|                        |     |            |
+------------------------+     +------------+

]]></artwork>
      </section>
      <section anchor="standalone-mcp-server-to-expose-apis-and-tools-to-the-network-controller">
        <name>Standalone MCP server to Expose APIs and tools to the Network Controller</name>
        <t>In this network scenario, the MCP client is deployed in the network controller
while the MCP server is deployed standalone to manage all the network elements.
For legacy networks, native MCP implementation on individual Network Elements can be redundant or resource-constrained. Instead, pre-existing network automation scripts (e.g., Python scripts powered by pyATS or Netmiko) can be directly refactored as MCP tools.</t>
        <t>In this scenario, the standalone MCP server or Network Controller hosts these scripts and exposes them to the MCP client via standardized tool descriptors. When an AI agent requests a device operation, the MCP server invokes the corresponding Python script via local shell execution or tool pools. This approach achieves direct device control and backward compatibility without modifying the legacy device control plane.</t>
        <artwork><![CDATA[


                     +----------------------+
                     |                      |
                     |   Network Controller |
                     |                      |
                     |    +------------+    |
                     |    |            |    |
            +--------+----| MCP Client +----+----------+
            |        |    |            |    |          |
            |        |    +-----+------+    |          |
            |        +----------+-----------+          |
            |                   |                      |
            |    +--------------V---------------+      |
            |    |         MCP Server           |      |
            |    +--------^-------------^-------+      |
            V             |             |              V
   +-------------+        |             |        +-------------+
   |             |        |             |        |             |
   | Data Source |--------+-            |--------+    Tools    |
   |             |                               |             |
   +------+------+                               +------+------+
          |                                             |
   (Telemetry/gNMI)                              (CLI/FastCLI/Shell)
          |                                             |
   +------V---------------------------------------------V------+
   |    Automation & Adaption Scripts (e.g., Python, pyATS)   |
   +------------------------------+----------------------------+
                                  |
                                  V
                           +--------------+
                           | Legacy Device|
                           +--------------+
                           Network Element

]]></artwork>
      </section>
      <section anchor="the-network-gatewaycontroller-and-the-network-element-communication-using-mcp">
        <name>The Network Gateway/Controller and the Network Element Communication using MCP</name>
        <t>In this network scenario, the MCP client is deployed in the network gateway device
while the MCP server is deployed in each network device. The MCP client
communicates with the MCP server using the MCP protocol. The LLM is a pre-trained model
and deployed in the same Network gateway as the MCP client.</t>
        <t>Network devices usually have limited resources (CPU, memory, etc.). Deploying MCP
Server may occupy a large amount of resources, affecting the normal operation of the
device.</t>
        <artwork><![CDATA[
      +------------------------+
      |   Network Controller/  |
      |   Network Gateway      |
      |                        |
      |        Natural         |
      | +------Language------+ |
      | |  MCP  |     | LLM  | |
      | | Client|-----|      | |
      | +-+-----+     +------+ |
      |   |MCP                 |
      +---+--------------------+
          +----------------+
 +--------+---+     +------+------+
 |  +-----++  |     |  +---+--+   |
 |  | MCP  |  |     |  | MCP  |   |
 |  |Server|  |     |  |Server|   |
 |  +------+  |     |  +------+   |
 +------------+     +-------------+
Network Element      Network Element

]]></artwork>
      </section>
      <section anchor="co-located-agent-and-mcp-server-within-a-network-element">
        <name><strong>Co-located Agent and MCP Server within a Network Element</strong></name>
        <t>An agent and an MCP server can run on the same network element. The agent uses an MCP client to invoke local tools for device operations or documentation retrieval. A local HTTP deployment can bind the server to the loopback address. Binding to loopback limits network exposure but does not establish the identity or permissions of local callers.</t>
        <t>The server can dispatch requests to local plugins. A CLI plugin can invoke a local command adapter, while a retrieval plugin queries a documentation backend. Device-internal communication remains behind these plugins. The client-server interface follows MCP; the plugin interface and device-internal messages are implementation-specific. Appendix A.3 illustrates this arrangement.</t>
      </section>
    </section>
    <section anchor="mcp-architecture-design-for-network-management">
      <name>MCP architecture Design for Network Management</name>
      <section anchor="encapsulating-device-operations-into-mcp-tools">
        <name>Encapsulating Device Operations into MCP Tools</name>
        <ul spacing="normal">
          <li>
            <t>Objective: Expose device operations through tool descriptions and tool calls.</t>
          </li>
          <li>
            <t>Implementation:
            </t>
            <ul spacing="normal">
              <li>
                <t>Tool Abstraction: Vendor-specific commands are wrapped into discrete MCP
Tools with uniform schemas.</t>
              </li>
              <li>
                <t>Tool Registry: A centralized database stores MCP Tools with metadata
(e.g., names, descriptions, parameters).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Benefits:
            </t>
            <ul spacing="normal">
              <li>
                <t>Eliminates manual translation of commands across different vendors</t>
              </li>
              <li>
                <t>Enables the plug-and-play integration of new device types.</t>
              </li>
              <li>
                <t>Objective: Expose device operations through tool descriptions and tool calls.**</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Implementation:
            </t>
            <ul spacing="normal">
              <li>
                <t>Tool Description: Define the tool name, description, input schema, and, where provided, output schema.</t>
              </li>
              <li>
                <t>Local Tool Registry: Maintain a mapping between tool names, descriptions, and execution handlers. This can be an in-memory table; it is separate from the repository used to discover MCP servers.</t>
              </li>
              <li>
                <t>Plugin Loading: One implementation option is to load configured shared libraries at server startup. Each plugin provides an initialization entry point and an execution handler. The server registers a tool after loading and initializing its implementation. Shared libraries and their calling conventions are local implementation choices.</t>
              </li>
              <li>
                <t>Schema Consistency: Check that configuration-derived tool descriptions match the parameters and results handled by the plugin. Validate invocation arguments before dispatch.</t>
              </li>
              <li>
                <t>Execution: Dispatch the request to the registered handler and map its output or failure into an MCP tool result. Handlers need to support concurrent calls safely, or the server needs to serialize calls to them.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Benefits:
            </t>
            <ul spacing="normal">
              <li>
                <t>Tool implementations can be maintained separately from request dispatch and logging.</t>
              </li>
              <li>
                <t>Vendor-specific command handling remains in the tool implementation. A common tool interface does not by itself translate commands between vendors.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="llm-for-intent-to-tool-request-translation">
        <name>LLM for Intent-to-Tool-Request Translation</name>
        <ul spacing="normal">
          <li>
            <t>Objective: Allow AI models (such as Claude) to understand natural language
           commands and trigger operations.</t>
          </li>
          <li>
            <t>Workflow:
            </t>
            <ul spacing="normal">
              <li>
                <t>Intent Recognition: The LLM first analyzes the user's natural language query to identify：
                </t>
                <ul spacing="normal">
                  <li>
                    <t>The user's intent or goal</t>
                  </li>
                  <li>
                    <t>Required actions or operations</t>
                  </li>
                  <li>
                    <t>Entities, parameters, and constraints mentioned</t>
                  </li>
                  <li>
                    <t>Context from previous interactions</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Network Entity Object Extraction：The LLM or a apecialized sub-module extracts network-specificsemantic entities (e.g.,Device Names, Interface IDs, Protocal Instances, VRF contexts) from the input. These extracted entities are mapped onto a network semantic graph or topology data model to ensure that the paramenters paased to the MCP tool correspond to valid, existing operational assets.</t>
              </li>
              <li>
                <t>Tool Discovery and Toolchain Generation: The LLM accesses tool descriptions provided by MCP
servers, and matches the identified intent with available tools.</t>
              </li>
              <li>
                <t>Parameter Extraction and Mapping: The LLM maps natural language references to structured
parameter names and extracts relevant information from the user query.</t>
              </li>
              <li>
                <t>Structured Invocation Generation: The LLM generates properly formatted tool calls following
MCP's protocol.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Benefits:
            </t>
            <ul spacing="normal">
              <li>
                <t>Bridge natural language to tool invocation requests in a fixed format, then return this
request to the client, enabling the client to properly parse the request.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="tool-invocation-and-execution-workflow">
        <name>Tool Invocation and Execution Workflow</name>
        <t>This workflow separates documentation retrieval from device execution. It does not assume automatic recovery or rollback.
- Tool Discovery: After MCP initialization, the client obtains tool descriptions with <tt>tools/list</tt>. The host provides relevant descriptions and the operator's request to the LLM.
- Context Retrieval: If documentation is needed, the host invokes a retrieval tool through the MCP client. The tool can query a local backend or an existing retrieval service and return relevant document excerpts. Retrieval supplies context; it does not execute device commands or authorize configuration changes.
- Tool Selection: The LLM proposes the next tool and its arguments. The host applies permission and approval checks before invocation. An informational question can be answered from retrieved material without calling a device configuration tool.
- Device Execution: The client sends a <tt>tools/call</tt> request. The server validates the arguments and dispatches them to the selected handler. A CLI handler can invoke a local command adapter and capture its output and error information.
- Result Handling: The server returns the result or execution error. The host can display the result directly or supply it to the LLM for explanation. Command output alone does not establish that the requested network state has been reached.
- Logging: The server records each tool invocation. Request and session identifiers can correlate calls with execution records. Log format and retention are implementation choices. Such records document tool execution; they do not necessarily capture the model's reasoning.
These steps use MCP methods rather than dedicated REST paths. With Streamable HTTP, <tt>tools/list</tt> and <tt>tools/call</tt> are JSON-RPC messages sent by HTTP POST to the MCP endpoint. A custom such as <tt>GET /tools</tt> or <tt>POST /execute</tt> API requires adaptation before it can serve a standard MCP client.</t>
        <t>A closed-loop workflow additionally requires checks of the resulting device state. Retry and rollback depend on the operation and backend support; they are not guaranteed by MCP tool invocation.</t>
      </section>
    </section>
    <section anchor="interworking-with-the-network-management-protocol-and-yang-data-models">
      <name>Interworking with the Network Management protocol and YANG data models</name>
      <t>MCP can be seen as AI protocol and used to invoke AI integrated capabilities. MCP is
not in the position to replace the network management and YANG data model. Instead,
it can be integrated together, e.g.,</t>
      <ul spacing="normal">
        <li>
          <t>Integrated MCP with CLI, allow the MCP client invoke CLI capabilities;
For a device-local implementation, a CLI tool can invoke an adapter executable. The adapter sends the command to an existing device component through a socket; that component forwards it to the CLI execution component using the device's internal messaging interface. Command output returns through the adapter to the tool. This reuses the existing CLI execution path.</t>
        </li>
      </ul>
      <t>The socket type, internal message format, and plugin calling convention are implementation details, not MCP messages. The MCP server maps tool requests to this path and returns MCP tool results. Authorization, command parsing, and execution errors need to be handled at the relevant boundaries.</t>
      <ul spacing="normal">
        <li>
          <t>Integrated MCP with YANG, allow YANG being consumed by MCP client or allow the
MCP client invoke YANG interface related capabilities;</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The MCP protocol needs to consider scenarios where either the client or server
encounters issues, such as crashes. If one or both parties go offline during
communication, the entire process may remain stuck waiting for messages,
potentially leading to an infinite loop. Furthermore, certain tool operations
may be interrupted, and some irreversible network management operations
could be affected.</t>
      <t>Due to network latency, some operations might not return in time, yet from
the user's perspective, these operations may appear either unexecuted or failed.
If the user then initiates another tool request to the server, problems may occur.</t>
      <t>For complex network management workflows, while LLM's tool invocation process may
generally function correctly, issues can arise in the details. Users must verify
each LLM operation to prevent unintended hazardous actions.</t>
      <t>Capability metadata associated with MCP-exposed network management tools may assist MCP clients and AI agents in evaluating operational risk, rollback capabilities, and approval requirements prior to tool invocation. Orchestration systems may use such metadata to enforce authorization, approval, and policy constraints as part of the execution workflow. This distinction can help reduce unsafe or unintended operations in AI-assisted network management environments by allowing clients and agents to consume metadata for planning, while enforcement points apply policy controls before execution.</t>
      <t>Loading native tool plugins places executable code inside the server process. Plugin files and their configuration need protection against unauthorized modification. Native plugins loaded into the server process do not, by themselves, provide an isolation boundary; a plugin failure can affect the server.</t>
      <t>CLI tools need to validate command parameters and apply operation permissions before execution. Passing model-generated strings to a shell introduces command-injection risk. Implementations should avoid unnecessary shell interpretation and define how command sequences are handled when one command fails.</t>
      <t>Caller names and session identifiers supplied in request metadata are useful for correlation but do not prove caller identity. Authorization decisions need to use authenticated identity and applicable policy. Logs should exclude credentials and protect sensitive command output. Retrieved documentation should be treated as input data, not as authority to change device configuration.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC6241">
        <front>
          <title>Network Configuration Protocol (NETCONF)</title>
          <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
          <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
          <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
          <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
          <date month="June" year="2011"/>
          <abstract>
            <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6241"/>
        <seriesInfo name="DOI" value="10.17487/RFC6241"/>
      </reference>
      <reference anchor="RFC8040">
        <front>
          <title>RESTCONF Protocol</title>
          <author fullname="A. Bierman" initials="A." surname="Bierman"/>
          <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
          <author fullname="K. Watsen" initials="K." surname="Watsen"/>
          <date month="January" year="2017"/>
          <abstract>
            <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8040"/>
        <seriesInfo name="DOI" value="10.17487/RFC8040"/>
      </reference>
      <reference anchor="RFC3584">
        <front>
          <title>Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework</title>
          <author fullname="R. Frye" initials="R." surname="Frye"/>
          <author fullname="D. Levi" initials="D." surname="Levi"/>
          <author fullname="S. Routhier" initials="S." surname="Routhier"/>
          <author fullname="B. Wijnen" initials="B." surname="Wijnen"/>
          <date month="August" year="2003"/>
          <abstract>
            <t>The purpose of this document is to describe coexistence between version 3 of the Internet-standard Network Management Framework, (SNMPv3), version 2 of the Internet-standard Network Management Framework (SNMPv2), and the original Internet-standard Network Management Framework (SNMPv1). This document also describes how to convert MIB modules from SMIv1 format to SMIv2 format. This document obsoletes RFC 2576. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="74"/>
        <seriesInfo name="RFC" value="3584"/>
        <seriesInfo name="DOI" value="10.17487/RFC3584"/>
      </reference>
    </references>
    <?line 728?>

<section anchor="usage">
      <name>MCP Usage Examples</name>
      <section anchor="routing-protocol-troubleshooting-using-embedded-slm-model-and-natural-language-interface">
        <name>Routing Protocol Troubleshooting using Embedded SLM Model and Natural Language Interface</name>
        <t>The figure shows a troubleshooting workflow. To integrate this workflow with MCP, the troubleshooting application can use an MCP client to invoke scripts exposed as tools by an MCP server. This is a possible integration point; the figure does not specify the MCP roles or transport.</t>
        <artwork><![CDATA[
+-----------------------------------------------------------------+
| Smart Network Element                                           |
|                                                                 |
| +-------------------------------------------------------------+ |
| |  Dev  Env: Offline Generate fault location workflow code    | |
| |                                                             | |
| |      +----------+                         +---------+       | |
| |      | Expert   | +----------+            |fault    |       | |
| |      |experience| | Protocol |  +-----+   |Locating |       | |
| |      |accumulate+-> Knowledge+--> LLM +--->Workflow |       | |
| |      | protocol | |   RAG    |  +-----+   |  Code   |       | |
| |      |  fault   | +----------+            +----+----+       | |
| |      +----------+                              |            | |
| +------------------------------------------------+------------+ |
|                                                  |              |
|                                                  |              |
|                                                  |              |
| +------------------------------------------------+------------+ |
| |OPS Env:Online Natural Language Interaction------V-------+    | |
| |                             +----------+Troubleshooting|    | |
| |                             |          |  Package Build|    | |
| |                             |          +---------------+    | |
| |+--------+              +----V---+    +-------------+        | |
| ||  User  |  +-------+   |Intent  |    | Execute     |        | |
| || Nature |  | Device|   |Parse   |    |Workflow     |        | |
| ||Language+-->  SLM  +--->Fault   +---->  Script     |        | |
| || Prompt |  |  ONNX |   |Pattern |    |Locating root|        | |
| |+--------+  +-------+   |Match   |    |  Cause      |        | |
| |                        +--------+    +-------------+        | |
| |                                                             | |
| +-------------------------------------------------------------+ |
+-----------------------------------------------------------------+

]]></artwork>
        <t>Step 1. When ISIS neighbour establishment fails, the network maintenance engineer
        queries the fault cause via natural language in the CLI interface.</t>
        <t>Step 2. A small model deployed on the device's CPU understands the user's intent
        and matches the fault pattern.</t>
        <t>Step 3. Troubleshooting scripts are invoked to locate the root cause of the fault.</t>
        <t>Step 4. The query is repeated until service operations get back to normal.</t>
      </section>
      <section anchor="device-configuration-using-mcpcli">
        <name>Device Configuration using MCP+CLI</name>
        <t>In this example, the network element implements the MCP Server and exposes all CLI
interfaces and documentation as tools to the MCP Client. The Network controller
implements the MCP client and interact with MCP server in the Network element.</t>
        <t>The MCP server provides the following registered tool descriptor information:</t>
        <t>Tools description: It describes the name, use, and parameters of tools.</t>
        <t>Tools implementation: MCP implementation describes how the tools are invoked.</t>
        <t>See Tool descriptor information example as follows:</t>
        <t>Tool Descriptor:</t>
        <artwork><![CDATA[
[
  {
    "name": "batch_configure_devices",
    "description": "Batch Configure Network Devices",
    "parameters": {
      "type": "object",
      "properties": {
        "device_ips": {
          "type": "array",
          "items": {"type": "string"},
          "description": "Device IP List"
        },
        "commands": {
          "type": "array",
          "items": {"type": "string"},
          "description": "CLI Sequence"
        },
        "credential_id": {
          "type": "string",
          "description": "Credential ID"
        }
      },
      "required": ["device_ips", "commands"]
    }
  },
  {
    "name": "check_device_status",
    "description": "Check the Status of Network Devices",
    "parameters": {
      "type": "object",
      "properties": {
        "device_ip": {"type": "string"},
        "metrics": {
          "type": "array",
          "items": {"enum": ["cpu", "memory", "interface"]}
        }
      },
      "required": ["device_ip"]
    }
  }
]
]]></artwork>
        <t>Tool Implementation</t>
        <artwork><![CDATA[
from netmiko import ConnectHandler
from mcp_server import McpServer

app = FastAPI()
server = McpServer(app)

#Connection Pool Management
devices = {
    "192.168.1.1": {
        "device_type": "VendorA-XYZ",
        "credential": "admin:XYZ@password"
    },
    "192.168.1.2": {
        "device_type": "VendorB-ABC",
        "credential": "admin:ABC@password"
    },
    ...
}

@server.tool("batch_configure_devices")
async def batch_config(device_ips: list,commands: list,credential_id: str):
    results = {}
    for ip in device_ips:
        conn = ConnectHandler(
            ip = ip,
            username = devices[ip]["credential"].split(':')[0],
            password = devices[ip]["credential"].split(':')[1],
            device_type = devices[ip]["device_type"]
        )
        output = conn.send_config_set(commands)
        results[ip] = output
    return {"success": True, "details": results}

@server.tool("check_device_status")
async def check_status(device_ip: str, metrics: list):
    status = {}
    if "cpu" in metrics:
        status["cpu"] = get_cpu_usage (device_ip)
    if "memory" in metrics:
        status["memory"] = get_memory_usage(device_ip)
    return status
]]></artwork>
        <t>Suppose a user submits a request (via the client) such as "Configure OSPF Area 0
with process ID 100 for all core switches in the Beijing data center," the MCP
client retrieves the necessary tooling descriptor information from the MCP server
and forwards it along with the request to the LLM. The LLM determines the
appropriate tools and responds in JSON format as follows:</t>
        <artwork><![CDATA[
{
"method": "batch_configure_devices",
"params": {
   "device_ips":["192.168.10.1",....,"192.168.10.10"],
   "command": [
     "router ospf 100",
     "network 192.168.0.0 0.0.255.255 area 0"
   ]
 }
}
}

]]></artwork>
        <t>The MCP server responds to the call instruction, converts it into the below CLIs
of different vendors, and then the devices execute the CLIs. The results are
returned to the MCP client in JSON as below and are forwarded to the LLM. The
LLM parses the response, generates a natural-language summary, and sends it back
to the client for final presentation to the user.</t>
        <artwork><![CDATA[
# Convert to CLI commands of different vendors
"commands": [
    "system-view",
    "ospf {{process_id}}",
    "area {{area_id}}",
    "network {{network_address}} {{wildcard_mask}}"
  ]

"commands": [
    "configure terminal",
    "router ospf {{process_id}}",
    "network {{network_address}} {{wildcard_mask}} area {{area_id}}",
    "end",
    "write memory"
  ]

#Feedbacks received by the MCP client of different vendors
{
    "status": "success",
    "message": "OSPF configuration applied successfully on device
                192.168.10.1",
    "commands_executed": [
        "system-view",
        "ospf 100",
        "area 0.0.0.0",
        "network 192.168.10.0 0.0.0.255"
    ]
}

{
    "status": "success",
    "message": "OSPF configuration applied successfully on device
                192.168.10.1",
    "commands_executed": [
        "configure terminal",
        "router ospf 100",
        "network 192.168.10.0 0.0.0.255 area 0",
        "end",
        "write memory"
    ]
}

# Natural language summary of success or failure:
{
  "192.168.10.1": "Configure Successfully, take 2.3 seconds",
  "192.168.10.2": "Error: no response from the device",
}

]]></artwork>
      </section>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact fullname="Qiufang Ma">
        <organization>Huawei</organization>
        <address>
          <email>maqiufang1@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Guanming Zeng">
        <organization>Huawei</organization>
        <address>
          <postal>
            <country>China</country>
          </postal>
          <email>zengguanming@huawei.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81923YbR5Lge31FLn1OWxIBSJTs2R6622OKlGzO6MIWaXk8
brdcBJJAjQpVmLqQgkXth+zTfsg+7Q/tL2xc81JVAEm3d87ARyZQldfIyLhl
ROR4PE6arMntvtk5WK3ybJqeZ3nWrE15YV4enpiLsjLNwppXtrkqq/fmZVqk
c7u0RbOTTNPGzstqvW+y4qJMklk5LdIlNDWr0otmvE6L+bhYVvPxcrqCL+NH
XyR1e77M6jori2a9gpLHz86eJ0W7PLfVfjKD9vaTaVnUtqjbet80VWuTy33z
JEkrm+6b1yenJi1m5uDNWYKjmVdlu9ofGJv5AX5nxdx8iyWS93YNBWb7iRmb
PK3mFv5fzFsobJblzOb4nL4Y6LyxHxqzqsqmnJZ5kqRtsygrrJoY+Fy0ec6T
/LFNizX8Mz9CW/SurOZpkf2aNjC9ffNdm17ZjF5My7ZoEE6Hi6xI6ZFdplm+
bxBGa2noyy+/WVCdybRcSn++u79khfmhTbZ00+9FOoEVzSdXba913/hRBgtp
XpQr+2vS7eDM5vaiLAAzkqCP01WaFYnrYoYNTKpJjk1807gqQ529SptFmmfW
vCmXpXlZVrYoe70e2bapp4B42P17bMT3/a2tlgAy33shLU4qaHG8pBZpEFBx
MrPdAbyAHmCtz6DuIq0A63q9v65gXWCAtrZpNV2EnT+HV1Pr+86psUnjGvum
pMpDMz9dQClbL8xJlZ4v2l63r8r3WQTl42JGD6SvWupPVlT/mwLLU0e4a5oq
O2+bQVz9S9ZewKBgh2xHVOlnmf4HV9jbhpHfAs4ucZP9m+UNcGfE/BUqzqWV
sKekKGGFm+wSyEGCtMX/SsbjsUnP66ZKp02SnAGGpEy3sFelWrBXkGgVQhiW
njBcZDafmaw2S5vCz6Y0lb2ApoDMSekkKA3YXHHDSHa0uWm6YiqZ2dqkNTRS
5jWVALJxmc2QqlQwrjksFj5OgKIARcvO8SegU9bYadNCCejdfliVtcXRwv8P
jmHkQFOlz7CfiTlbwKiBxLY4smSW1dO2rmEAjQdBTLqh9Q1AWAH5swqk4xM3
c9hFjWkbaOVXaBhps4GhLooyL+c0huMGB5zD7GrHHbR9mgnMamSWbd5kK5gs
FElqW13ayuB4S/iyHgE6LJdtoSt2DtWtLRwRf5bTGGvAJvcuYECJ5fcE7pAx
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
dj+/mKDZnrYqQVSadJW8Pcz8aVBNckNifUmL/I1+bNE94PN4ciTGdHjyZGJe
gOCAq7ipPPkCwWB/pZEdOExDVBkqb8xm3ffvL8/zfeu1xQ7g9YOP34aA8oAV
BaizNO4bGW2CHgdWN6y4Nzlpz3OQuq6DQrvXyU2T+VNQ+DQDKYnw/VordmmJ
NzAFQ0X99ORYvkvFh/2zDC0uWPerGRjqrkyM/+5G0/RD/bq7HIDSr57vEWxf
PX9Mv55cm8lk0oXq3XqEit8BqW1wXmQaJWy7vgtUv+72uF3thr6fAkXrrbWa
Gk8buzJ7+7AeQoNYWAACFFjDQUghVEDWYmlT0SYRk7AcZWWxq4WO3C/XRHp7
vB9YkqF2MUNN1uk7ImoTAxQFgHe1P3MOsD10n6BPLCqIkO3700E82TcHFw3Z
C0iIRakzqjoK5wbCTlsVzOMQM3OkLdOyAo1gVRbEQ6WnQLQ0bhY1TlRkx/5Q
vtgP6SKe2L5XYzzbP6JxeZ4wsCGE3tY9lhKzhE2fzSayDR9A2iNEk1NGk4Dy
baywGyHnLSqExO365grKNP7GPdw8B9fT44nCrw++27axpWBgIFQSHsFiS9Vr
/ePx5PrR5KSyUzrboMOz3urtdmrHgNf9czCbARLXjgCRZEG19iYKdxR43wgq
D045JOxhT1/3iw9UDWxOyLjjXnF/1XZTVW+TC0jkRjnBV70BVNuqbnwnfzew
qdtU/Q293mBzjcn8o5jQoB1LMIhcMqJTREGPlNFj4hkFIciAudCdFSlBH8Ie
p92aDi3Uk9Bhp4WAc5zF1ZQ5DJlySVnSjRyejDoO0GlMeQkrtYHqgS0TyRci
vwEGbm4KC6dFCTRVQF3zUfnQG6L/+SUMQk5a2bGMtfJKZmpATZt1RzhKgoNb
MsGqIXWC9mn0dYtsVaj4o3GNHH/ZTOKtA3mpilWCdd5YNKQ3JYxPtB5YzZRk
AlZ+3luAKPoMvUfpAGGkLeBvm04XYd8TPfJHHmrdQHtMqiOeegl/3T0AC6nn
tacJPaqHHzqa6u2s63t+b9zv1grmH1XaDUn4rnmigqjv9m8DA2SRVXnN4Jbf
m7yxc1ycvh/DdWfT95i2+xsdybztHIS5Yh1g65/EXAf4uec0meDh4/BMOHj+
pHsYNHwEt+GQmCElP7qAGXwojxM8Kn3+0piTlyY6SNXj4c7pavA4iUmwmyxy
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
P0f4oj01qQAA

-->

</rfc>
