Skip to main content
Glama
paywithextend

Extend AI Toolkit MCP Server

Official

Расширение инструментария ИИ

Обзор

Extend AI Toolkit предоставляет реализацию инструментов на основе Python для интеграции с API Extend для нескольких фреймворков AI, включая Anthropic Model Context Protocol (MCP) , OpenAI , LangChain и CrewAI . Он позволяет пользователям делегировать определенные действия в потоке управления расходами агентам AI или MCP-совместимым клиентам, таким как Claude Desktop.

Эти инструменты предназначены для существующих пользователей Extend с ключами API. Если вы не зарегистрированы в Extend и хотите узнать больше о нашей современной, простой в использовании виртуальной карте и платформе управления расходами для малого и среднего бизнеса, вы можете проверить нас на paywithextend.com .

Related MCP server: Interswitch MCP Server

Функции

  • Поддержка нескольких фреймворков ИИ : работает с протоколом контекста антропной модели, агентами OpenAI, LangChain LangGraph и ReAct, а также фреймворками CrewAI

  • Комплексный набор инструментов : поддерживает все основные функции API Extend, охватывающие наши конечные точки управления кредитными картами, виртуальными картами, транзакциями и расходами.

Установка

Вам не нужен этот исходный код, если вы не хотите изменить пакет. Если вы просто хотите использовать пакет, выполните:

pip install extend_ai_toolkit

Требования

  • Python : версия 3.10 или выше

  • Продлить ключ API : зарегистрируйтесь на paywithextend.com , чтобы получить ключ API

  • Требования, специфичные для фреймворка :

    • LangChain: пакеты langchain и langchain-openai

    • OpenAI: пакет openai

    • CrewAI: пакет crewai

    • Anthropic: пакет anthropic (для Клода)

Конфигурация

Библиотеку необходимо настроить с помощью ключа Extend API и API, используя переменные среды или аргументы командной строки:

--api-key=your_api_key_here --api-secret=your_api_secret_here 

или через переменные среды:

EXTEND_API_KEY=your_api_key_here
EXTEND_API_SECRET=your_api_secret_here

Доступные инструменты

Инструментарий предоставляет полный набор инструментов, организованных по функциональности:

Виртуальные карты

  • get_virtual_cards : Извлечение виртуальных карт с дополнительными фильтрами

  • get_virtual_card_detail : Получить подробную информацию о конкретной виртуальной карте

Кредитные карты

  • get_credit_cards : Список всех кредитных карт

  • get_credit_card_detail : Получить подробную информацию о конкретной кредитной карте

Транзакции

  • get_transactions : Извлечение транзакций с различными фильтрами

  • get_transaction_detail : Получить подробную информацию о конкретной транзакции

  • update_transaction_expense_data : обновление данных, связанных с расходами для транзакции

Управление расходами

  • get_expense_categories : Список всех категорий расходов

  • get_expense_category : Получить сведения о конкретной категории расходов

  • get_expense_category_labels : Получить метки для категории расходов

  • create_expense_category : Создать новую категорию расходов

  • create_expense_category_label : Добавить метку к категории расходов

  • update_expense_category : Изменить существующую категорию расходов

  • create_receipt_attachment : загрузить квитанцию (и при желании прикрепить к транзакции)

  • automatch_receipts : Инициировать асинхронное задание для автоматического сопоставления загруженных квитанций с транзакциями

  • get_automatch_status : Получить статус задания автосоответствия

  • send_receipt_reminder : Отправить напоминание (по электронной почте) о транзакции, для которой отсутствует чек

Примеры использования

Модель контекстного протокола

Набор инструментов предоставляет ресурсы в пакете extend_ai_toolkit.modelcontextprotocol , которые помогут вам создать сервер MCP.

Разработка

Протестируйте сервер Extend MCP локально с помощью MCP Inspector:

npx @modelcontextprotocol/inspector python extend_ai_toolkit/modelcontextprotocol/main.py --tools=all

Интеграция рабочего стола Клода

Добавьте этот инструмент в качестве сервера MCP в Claude Desktop, отредактировав файл конфигурации:

В MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json В Windows: %APPDATA%/Claude/claude_desktop_config.json

Если вы хотите использовать инструмент create_receipt_attachment с claude desktop, вам нужно будет установить сервер файловой системы mcp с помощью npm install @modelcontextprotocol/server-filesystem add, а затем добавить его в файл конфигурации.

Обратите внимание: из-за текущих ограничений изображения, загруженные непосредственно в Claude Desktop, не могут быть загружены в Extend из-за того, что приложение Claude Desktop не имеет доступа к базовым данным изображения. Вот почему необходим Filesystem MCP Server .

С добавлением Filesystem вы можете настроить специальную папку для чеков и сказать Claude загрузить чек и автоматически сопоставить его с наиболее вероятной транзакцией. В качестве альтернативы, если вы знаете транзакцию, к которой хотите прикрепить чек, вы можете сказать Claude загрузить чек для этой транзакции (и пропустить процесс автоматического сопоставления).

{
  "extend-mcp": {
    "command": "python",
    "args": [
      "-m",
      "extend_ai_toolkit.modelcontextprotocol.main",
      "--tools=all"
    ],
    "env": {
      "EXTEND_API_KEY": "apik_XXXX",
      "EXTEND_API_SECRET": "XXXXX"
    }
  },
  // optional: if you want to use the create_receipt_attachment tool
  "filesystem": { 
    "command": "npx",
    "args": [
      "-y",
      "@modelcontextprotocol/server-filesystem",
      "/path/to/receipts/folder"
    ]
  }
}

Удаленное исполнение

Вы также можете запустить свой сервер удаленно и обмениваться данными через транспорт SSE:

python -m extend_ai_toolkit.modelcontextprotocol.main_sse --tools=all --api-key="apikey" --api-secret="apisecret"

и при желании подключиться с помощью терминального клиента MCP:

python -m extend_ai_toolkit.modelcontextprotocol.client.mcp_client --mcp-server-host localhost --mcp-server-port 8000 --llm-provider=anthropic --llm-model=claude-3-5-sonnet-20241022

OpenAI

import os
from langchain_openai import ChatOpenAI
from extend_ai_toolkit.openai.toolkit import ExtendOpenAIToolkit
from extend_ai_toolkit.shared import Configuration, Scope, Product, Actions

# Initialize the OpenAI toolkit
extend_openai_toolkit = ExtendOpenAIToolkit.default_instance(
    api_key=os.environ.get("EXTEND_API_KEY"),
    api_secret=os.environ.get("EXTEND_API_SECRET"),
    configuration=Configuration(
        scope=[
            Scope(Product.VIRTUAL_CARDS, actions=Actions(read=True)),
            Scope(Product.CREDIT_CARDS, actions=Actions(read=True)),
            Scope(Product.TRANSACTIONS, actions=Actions(read=True)),
        ]
    )
)

# Create an agent with the tools
extend_agent = Agent(
    name="Extend Agent",
    instructions="You are an expert at integrating with Extend",
    tools=extend_openai_toolkit.get_tools()
)

LangChain

import os
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
from extend_ai_toolkit.langchain.toolkit import ExtendLangChainToolkit
from extend_ai_toolkit.shared import Configuration, Scope, Product, Actions

# Initialize the LangChain toolkit
extend_langchain_toolkit = ExtendLangChainToolkit.default_instance(
    api_key=os.environ.get("EXTEND_API_KEY"),
    api_secret=os.environ.get("EXTEND_API_SECRET"),
    configuration=Configuration(
        scope=[
            Scope(Product.VIRTUAL_CARDS, actions=Actions(read=True)),
            Scope(Product.CREDIT_CARDS, actions=Actions(read=True)),
            Scope(Product.TRANSACTIONS, actions=Actions(read=True)),
        ]
    )
)

# Create tools for the agent
tools = extend_langchain_toolkit.get_tools()

# Create the agent executor
langgraph_agent_executor = create_react_agent(
    ChatOpenAI(model="gpt-4"),
    tools
)

CrewAI

import os
from extend_ai_toolkit.crewai.toolkit import ExtendCrewAIToolkit
from extend_ai_toolkit.shared import Configuration, Scope, Product, Actions

# Initialize the CrewAI toolkit
toolkit = ExtendCrewAIToolkit.default_instance(
    api_key=os.environ.get("EXTEND_API_KEY"),
    api_secret=os.environ.get("EXTEND_API_SECRET"),
    configuration=Configuration(
        scope=[
            Scope(Product.VIRTUAL_CARDS, actions=Actions(read=True)),
            Scope(Product.CREDIT_CARDS, actions=Actions(read=True)),
            Scope(Product.TRANSACTIONS, actions=Actions(read=True)),
        ]
    )
)

# Configure the LLM (using Claude)
toolkit.configure_llm(
    model="claude-3-opus-20240229",
    api_key=os.environ.get("ANTHROPIC_API_KEY")
)

# Create the Extend agent
extend_agent = toolkit.create_agent(
    role="Extend Integration Expert",
    goal="Help users manage virtual cards, view credit cards, and check transactions efficiently",
    backstory="You are an expert at integrating with Extend, with deep knowledge of virtual cards, credit cards, and transaction management.",
    verbose=True
)

# Create a task for handling user queries
query_task = toolkit.create_task(
    description="Process and respond to user queries about Extend services",
    agent=extend_agent,
    expected_output="A clear and helpful response addressing the user's query",
    async_execution=True
)

# Create a crew with the agent and task
crew = toolkit.create_crew(
    agents=[extend_agent],
    tasks=[query_task],
    verbose=True
)

# Run the crew
result = crew.kickoff()

Внося вклад

Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A production-grade MCP server for personal finance management, enabling AI agents to add, update, search expenses, manage budgets and credit cards, and generate financial reports.
    2
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    An MCP server that enables AI assistants to interact with Interswitch APIs for payments, transfers, VAS, cardless paycodes, Transaction Search, Card 360, lending, payouts, agency banking, and fintech card-processing utilities.
    74
    36 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    An MCP server for managing SAP Concur expense reports, allowing AI agents to create and update expenses, attach receipts and attendees, and read report data, while leaving submission and approval to humans.
    -