> ## Documentation Index
> Fetch the complete documentation index at: https://toolathlon.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Self Implemented Tookits

> Toolkits we implemented to make it more robust and capable for our complex evaluation.

<div className="icon-container" style={{ display: 'flex', gap: '36px', alignItems: 'center', flexWrap: 'wrap' }}>
  <svg width="64px" height="64px" viewBox="0 0 1024 1024" class="icon" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <path d="M512 896c-223.5 0-405.3-181.8-405.3-405.3S288.5 85.3 512 85.3s405.3 181.8 405.3 405.3S735.5 896 512 896z m0-725.3c-176.4 0-320 143.5-320 320s143.6 320 320 320 320-143.5 320-320-143.6-320-320-320z" fill="#3688FF" />

    <path d="M922.6 249.6c-13.7 0-27.1-6.6-35.4-18.8-15.3-22.6-32.8-43.9-52.1-63.2-19.3-19.3-40.6-36.9-63.2-52.1-19.5-13.2-24.6-39.7-11.5-59.2 13.2-19.5 39.7-24.6 59.2-11.5 27.1 18.3 52.6 39.4 75.7 62.5s44.2 48.6 62.5 75.7c13.2 19.5 8.1 46.1-11.5 59.2-7.2 5-15.5 7.4-23.7 7.4zM101.4 249.6c-8.2 0-16.5-2.4-23.8-7.3-19.5-13.2-24.7-39.7-11.5-59.2 18.3-27.1 39.4-52.6 62.5-75.7s48.6-44.1 75.7-62.5c19.5-13.2 46.1-8 59.3 11.5 13.2 19.5 8.1 46-11.5 59.2-22.6 15.3-43.9 32.8-63.2 52.1-19.3 19.3-36.8 40.5-52.1 63.2-8.2 12.1-21.7 18.7-35.4 18.7zM138.6 970.7c-8.6 0-17.3-2.6-24.8-7.9-19.2-13.7-23.6-40.4-9.9-59.5l53.3-74.7c13.7-19.2 40.3-23.6 59.5-9.9 19.2 13.7 23.6 40.4 9.9 59.5l-53.3 74.7c-8.2 11.6-21.4 17.8-34.7 17.8zM885.4 970.7c-13.3 0-26.4-6.2-34.8-17.9l-53.3-74.7c-13.7-19.2-9.3-45.8 9.9-59.5 19.2-13.7 45.8-9.2 59.5 9.9l53.3 74.7c13.7 19.2 9.3 45.8-9.9 59.5-7.5 5.4-16.2 8-24.7 8zM512 554.7c-7.2 0-14.5-1.8-21-5.5-13.4-7.6-21.6-21.8-21.6-37.1V384c0-23.6 19.1-42.7 42.7-42.7s42.7 19.1 42.7 42.7v52.6l42.1-25.2c20.2-12.1 46.4-5.6 58.5 14.6 12.1 20.2 5.6 46.4-14.6 58.5l-106.7 64c-6.9 4.1-14.5 6.2-22.1 6.2z" fill="#5F6379" />
  </svg>

  <svg width="64px" height="64px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <path d="M861.588238 240.133873v-65.792823c0-36.191275-29.439775-65.631049-65.631049-65.63105h-21.877358c-36.191275 0-65.631049 29.439775-65.631049 65.63105v65.631049H314.659414v-65.631049c0-36.191275-29.439775-65.631049-65.631049-65.63105h-21.877358c-36.191275 0-65.631049 29.439775-65.631049 65.63105v65.792823c-36.317212 0.868255-65.631049 30.539428-65.63105 67.061417v543.745565c0 37.06772 30.155471 67.223191 67.223191 67.223191h696.886045c37.06772 0 67.223191-30.155471 67.223191-67.223191V307.19529c-0.001024-36.52199-29.315885-66.193162-65.633097-67.061417z m-109.385765-65.792823c0-12.060345 9.817012-21.877358 21.877358-21.877358h21.877358c12.060345 0 21.877358 9.817012 21.877358 21.877358v175.016814c0 12.060345-9.817012 21.877358-21.877358 21.877358h-21.877358c-12.060345 0-21.877358-9.817012-21.877358-21.877358V174.34105z m-546.928824 0c0-12.060345 9.817012-21.877358 21.877358-21.877358h21.877358c12.060345 0 21.877358 9.817012 21.877358 21.877358v175.016814c0 12.060345-9.817012 21.877358-21.877358 21.877358h-21.877358c-12.060345 0-21.877358-9.817012-21.877358-21.877358V174.34105z m678.191947 676.600829c0 12.935767-10.532708 23.468476-23.468476 23.468475H163.111076c-12.935767 0-23.468476-10.532708-23.468476-23.468475V307.19529c0-12.402323 9.677764-22.593054 21.877358-23.415233v65.577807c0 36.191275 29.439775 65.631049 65.631049 65.631049h21.877358c36.191275 0 65.631049-29.439775 65.631049-65.631049v-65.631049h393.789368v65.631049c0 36.191275 29.439775 65.631049 65.631049 65.631049h21.877358c36.191275 0 65.631049-29.439775 65.631049-65.631049v-65.577807c12.19857 0.82218 21.877358 11.012911 21.877358 23.415233v543.746589z" fill="#22C67F" />

    <path d="M706.719439 478.272194l-48.01715-44.741741-182.28128 195.621482-111.468348-122.615387-48.563905 44.148911 159.469116 172.685427z" fill="#74E8AE" />
  </svg>

  {/* python */}

  <svg width="64px" height="64px" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path fillRule="evenodd" clipRule="evenodd" d="M13.0164 2C10.8193 2 9.03825 3.72453 9.03825 5.85185V8.51852H15.9235V9.25926H5.97814C3.78107 9.25926 2 10.9838 2 13.1111L2 18.8889C2 21.0162 3.78107 22.7407 5.97814 22.7407H8.27322V19.4815C8.27322 17.3542 10.0543 15.6296 12.2514 15.6296H19.5956C21.4547 15.6296 22.9617 14.1704 22.9617 12.3704V5.85185C22.9617 3.72453 21.1807 2 18.9836 2H13.0164ZM12.0984 6.74074C12.8589 6.74074 13.4754 6.14378 13.4754 5.40741C13.4754 4.67103 12.8589 4.07407 12.0984 4.07407C11.3378 4.07407 10.7213 4.67103 10.7213 5.40741C10.7213 6.14378 11.3378 6.74074 12.0984 6.74074Z" fill="#327EBD" />

    <path fillRule="evenodd" clipRule="evenodd" d="M18.9834 30C21.1805 30 22.9616 28.2755 22.9616 26.1482V23.4815L16.0763 23.4815L16.0763 22.7408L26.0217 22.7408C28.2188 22.7408 29.9998 21.0162 29.9998 18.8889V13.1111C29.9998 10.9838 28.2188 9.25928 26.0217 9.25928L23.7266 9.25928V12.5185C23.7266 14.6459 21.9455 16.3704 19.7485 16.3704L12.4042 16.3704C10.5451 16.3704 9.03809 17.8296 9.03809 19.6296L9.03809 26.1482C9.03809 28.2755 10.8192 30 13.0162 30H18.9834ZM19.9015 25.2593C19.1409 25.2593 18.5244 25.8562 18.5244 26.5926C18.5244 27.329 19.1409 27.9259 19.9015 27.9259C20.662 27.9259 21.2785 27.329 21.2785 26.5926C21.2785 25.8562 20.662 25.2593 19.9015 25.2593Z" fill="#FFDA4B" />
  </svg>

  <svg height="64" width="64" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
    <g fill="none" fill-rule="evenodd">
      <rect fill="#fabc05" height="512" rx="42.667" width="512" />

      <path d="M58.667 293.333L0 209.125V42.663C0 19.1 19.137 0 42.663 0h426.674C492.9 0 512 19.137 512 42.663l-282.667.004S58.667 305.14 58.667 293.333z" fill="#eb4335" />

      <path d="M303.3 340.528L199.876 512H42.633C19.087 512 0 492.94 0 469.328V209.125l54.537 74.854c28.457 48.33 81.024 80.762 141.167 80.762 40.548 0 77.822-14.86 106.533-39.29l5.348 5.349c-.918 3.235-2.337 6.5-4.284 9.728z" fill="#34a854" />

      <g fill-rule="nonzero">
        <path d="M194.667 85.333c-66.667 0-120 52.148-120 117.334C74.667 267.852 128 320 194.667 320c66.666 0 120-52.148 120-117.333 0-65.186-53.334-117.334-120-117.334z" fill="#4285f5" />

        <path d="M327.59 300.924l28.788 28.787 13.204-14.159 115.751 115.751-59.363 59.364-115.751-115.751 13.553-12.64-28.85-28.85c-27.526 20.496-61.677 32.712-98.52 32.712C105.605 366.138 32 292.532 32 201.735c0-90.796 73.605-164.402 164.402-164.402s164.402 73.606 164.402 164.402c0 37.142-12.414 71.549-33.213 99.19zM196.403 87.92c-63.231 0-113.817 50.585-113.817 113.816 0 63.232 50.586 113.817 113.817 113.817S310.22 264.967 310.22 201.735c0-63.231-50.585-113.816-113.817-113.816z" fill="#fff" />
      </g>
    </g>
  </svg>

  <Icon icon="bars-progress" size={64} color="#4286f6" />

  <svg width="64px" height="64px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" id="Layer_1" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <g>
      <g>
        <rect clip-rule="evenodd" fill="#F2F2F2" fill-rule="evenodd" height="83.437" width="67.025" x="9.012" y="7.604" />

        <path d="M77.454,92.458H7.595V6.187h69.859V92.458z M10.429,89.624H74.62V9.021H10.429V89.624z" />
      </g>

      <g>
        <rect clip-rule="evenodd" fill="#FF7C24" fill-rule="evenodd" height="10.481" width="17.952" x="46.695" y="34.866" />
      </g>

      <g>
        <rect height="2.834" width="19.463" x="20.504" y="35.575" />
      </g>

      <g>
        <rect height="2.834" width="15.561" x="20.718" y="42.508" />
      </g>

      <g>
        <rect height="2.833" width="15.562" x="20.813" y="49.514" />
      </g>

      <g>
        <rect height="2.833" width="27.128" x="20.718" y="56.753" />
      </g>

      <g>
        <rect height="2.833" width="23.51" x="20.718" y="63.688" />
      </g>

      <g>
        <rect clip-rule="evenodd" fill="#39B6CC" fill-rule="evenodd" height="9.004" width="44.095" x="20.553" y="19.064" />
      </g>

      <g>
        <rect height="2.833" width="26.272" x="20.718" y="70.32" />
      </g>

      <g>
        <rect height="2.834" width="32.8" x="20.718" y="77.253" />
      </g>

      <g>
        <rect height="2.834" width="3.235" x="38.304" y="42.508" />
      </g>

      <g>
        <path clip-rule="evenodd" d="M77.931,71.902l4.287,4.427l-6.644,6.437l-4.309-4.457 C74.147,76.998,76.504,74.726,77.931,71.902L77.931,71.902z" fill="#F2F2F2" fill-rule="evenodd" />

        <path d="M75.542,84.77l-6.692-6.92l1.828-0.831c2.579-1.174,4.706-3.218,5.989-5.756l0.897-1.776l6.656,6.874L75.542,84.77z M73.584,78.669l2.023,2.091l4.605-4.463l-2.007-2.074C76.994,76.012,75.414,77.531,73.584,78.669z" />
      </g>

      <g>
        <polygon clip-rule="evenodd" fill="#39B6CC" fill-rule="evenodd" points="83.267,75.319 91.984,84.338 83.247,92.779 74.535,83.761" />

        <path d="M83.213,94.783L72.531,83.726l10.771-10.41l10.687,11.056L83.213,94.783z M76.538,83.794l6.744,6.981l6.698-6.472l-6.748-6.981L76.538,83.794z" />
      </g>

      <g>
        <path clip-rule="evenodd" d="M66.124,50.799c7.742,0,14.018,6.276,14.018,14.019s-6.275,14.019-14.018,14.019c-7.743,0-14.019-6.276-14.019-14.019S58.381,50.799,66.124,50.799L66.124,50.799z" fill="#F2F2F2" fill-rule="evenodd" />

        <path d="M66.124,80.253c-8.511,0-15.435-6.924-15.435-15.435s6.924-15.435,15.435-15.435S81.56,56.307,81.56,64.818S74.635,80.253,66.124,80.253z M66.124,52.216c-6.949,0-12.601,5.653-12.601,12.602s5.651,12.601,12.601,12.601c6.948,0,12.602-5.652,12.602-12.601S73.072,52.216,66.124,52.216z" />
      </g>

      <g>
        <rect height="2.833" width="10.313" x="39.902" y="49.514" />
      </g>

      <g>
        <path d="M76.404,65.586H73.57c0-0.636-0.068-1.255-0.205-1.84c-0.043-0.186-0.096-0.385-0.169-0.63l2.717-0.808c0.091,0.304,0.158,0.559,0.215,0.801C76.31,63.901,76.404,64.735,76.404,65.586z M72.438,61.433c-1.489-2.5-4.203-4.058-7.084-4.061l0.004-2.834c3.871,0.005,7.518,2.091,9.516,5.445L72.438,61.433z" />
      </g>
    </g>
  </svg>

  <Icon icon="filter-list" size={64} color="#4286f6" />
</div>

In addition to selecting from existing publicly available MCP servers, we also implemented several local servers for the model to call.

<div align="center">
  <table class="self-impl-table">
    <thead>
      <tr>
        <th>Tookit</th>
        <th>Description</th>
        <th>Tools</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td class="server-name">sleep</td>
        <td class="server-impl-description">Sometimes other servers raise some errors and the agent has to wait for a while.</td>
        <td class="server-tools"><span class="tool-count">1</span></td>
      </tr>

      <tr>
        <td class="server-name">claim\_done</td>
        <td class="server-impl-description">Claim the task has been done.</td>
        <td class="server-tools"><span class="tool-count">1</span></td>
      </tr>

      <tr>
        <td class="server-name">handle\_overlong\_tool\_outputs</td>
        <td class="server-impl-description">Truncate overlong tool outputs to a preset threshold (100K characters) instead of placing
        the entire response into the context.</td>
        <td class="server-tools"><span class="tool-count">4</span></td>
      </tr>

      <tr>
        <td class="server-name">manage\_context</td>
        <td class="server-impl-description">Enable the model to know the context it has used, and do truncation.</td>
        <td class="server-tools"><span class="tool-count">3</span></td>
      </tr>

      <tr>
        <td class="server-name">history\_search</td>
        <td class="server-impl-description">Enable the agent to search some contents in the interaction history, for instance, if some important information is lost after truncation, this tool will be useful.</td>
        <td class="server-tools"><span class="tool-count">5</span></td>
      </tr>

      <tr>
        <td class="server-name">python\_execute</td>
        <td class="server-impl-description">Execute a python script.</td>
        <td class="server-tools"><span class="tool-count">1</span></td>
      </tr>

      <tr>
        <td class="server-name">web-search</td>
        <td class="server-impl-description">Enable the agent to search the internet for content.</td>
        <td class="server-tools"><span class="tool-count">1</span></td>
      </tr>
    </tbody>
  </table>
</div>
