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: Flutterwave 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.

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

Latest Blog Posts

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