Extend AI Toolkit MCP Server

MIT License
15
  • Apple
Integrations
  • Enables CrewAI agents to interact with Extend's platform for managing virtual cards, viewing credit cards, and checking transactions.

  • Offers toolkit integration with LangChain, supporting virtual card and spend management functionalities through Extend's API endpoints.

  • Provides tools for OpenAI's frameworks to interact with Extend APIs, enabling agents to manage virtual cards, credit cards, and transactions.

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

Обзор

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

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

Функции

  • Поддержка нескольких фреймворков ИИ : работает с протоколом контекста антропной модели, агентами 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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Сервер MCP, который позволяет агентам ИИ взаимодействовать с API-интерфейсами управления расходами Extend, обеспечивая управление виртуальными картами, отслеживание транзакций и обработку чеков с помощью естественного языка.

  1. Обзор
    1. Функции
      1. Установка
        1. Требования
      2. Конфигурация
        1. Доступные инструменты
          1. Виртуальные карты
          2. Кредитные карты
          3. Транзакции
          4. Управление расходами
        2. Примеры использования
          1. Модель контекстного протокола
          2. OpenAI
          3. LangChain
          4. CrewAI
        3. Внося вклад
          1. Лицензия

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              An MCP server that lets AI assistants interact with your Lunchmoney data, enabling natural language queries about transactions, budgets, and spending patterns.
              Last updated -
              4
              3
              8
              TypeScript
              MIT License
            • -
              security
              A
              license
              -
              quality
              An MCP server that helps AI assistants manage expense-sharing for social events, enabling the creation of gatherings, tracking of expenses, and calculation of fair reimbursements among participants.
              Last updated -
              Python
              Apache 2.0
            • A
              security
              F
              license
              A
              quality
              An MCP server that integrates with Fewsats allowing AI agents to securely purchase anything by retrieving balances, accessing payment methods, and processing payments.
              Last updated -
              4
              11
              Python
            • -
              security
              -
              license
              -
              quality
              A specialized MCP server that enables AI agents to interact with Reddit, including reading posts, creating content, and managing subreddit configurations.
              Last updated -
              31
              1
              TypeScript

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/paywithextend/extend-ai-toolkit'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server