Skip to main content

Python toolkit that lets your LangChain agents automate Taiga: create, search, edit & comment on user stories, tasks and issues via the official REST API. v2 introduces the multi-tenant remote MCP mode (HTTP+OAuth) alongside the existing stdio transport.

Project description

langchain-taiga

PyPI version

This package provides Taiga tools and a toolkit for use with LangChain. It includes:

  • create_entity_tool: Creates user stories, tasks and issues in Taiga.
  • search_entities_tool: Searches for user stories, tasks and issues in Taiga. Returns {matches, count, max_results, truncated}. Supports max_results and include_custom_attributes (default False — opt-in to avoid an N+1 fetch storm). Date filters are tz-aware.
  • get_entity_by_ref_tool: Gets a user story, task or issue by reference.
  • update_entity_by_ref_tool: Updates a user story, task or issue by reference.
  • add_comment_by_ref_tool: Adds a comment to a user story, task or issue.
  • add_attachment_by_ref_tool: Adds an attachment to a user story, task or issue.
  • promote_issue_to_userstory_tool: Promotes an issue to a user story, preserving comments and history.
  • list_custom_attributes_tool: Lists custom-attribute definitions for a project + entity type.
  • set_custom_attributes_tool: Sets custom-attribute values on a user story, task or issue.
  • get_custom_attributes_tool: Reads custom-attribute values from a user story, task or issue.
  • sort_kanban_by_rice_tool: Re-orders Kanban swimlanes using a RICE-style score.
  • list_wiki_pages_tool: Lists wiki pages in a project.
  • get_wiki_page_tool: Reads a wiki page by slug.
  • create_wiki_page_tool: Creates a wiki page.
  • update_wiki_page_tool: Updates a wiki page.
  • whoami_tool: Returns the currently authenticated Taiga user.
  • list_project_members_tool: Lists all members of a project with their roles (email opt-in).

Installation

pip install -U langchain-taiga

Environment Variable

Export your taiga logins:

export TAIGA_URL="https://taiga.xyz.org/"
export TAIGA_API_URL="https://taiga.xyz.org/"
export TAIGA_USERNAME="username"
export TAIGA_PASSWORD="pw"
export OPENAI_API_KEY="OPENAI_API_KEY"

If this environment variable is not set, the tools will raise a ValueError when instantiated.


Usage

Direct Tool Usage

from langchain_taiga.tools.taiga_tools import create_entity_tool, search_entities_tool, get_entity_by_ref_tool, update_entity_by_ref_tool, add_comment_by_ref_tool, add_attachment_by_ref_tool

response = create_entity_tool({"project_slug": "slug",
                       "entity_type": "us",
                       "subject": "subject",
                       "status": "new",
                       "description": "desc",
                       "parent_ref": 5,
                       "assign_to": "user",
                       "due_date": "2022-01-01",
                       "tags": ["tag1", "tag2"]})

response = search_entities_tool({"project_slug": "slug", "query": "query", "entity_type": "task"})

response = get_entity_by_ref_tool({"entity_type": "user_story", "project_id": 1, "ref": "1"})

response = update_entity_by_ref_tool({"project_slug": "slug", "entity_ref": 555, "entity_type": "us"})

response = add_comment_by_ref_tool({"project_slug": "slug", "entity_ref": 3, "entity_type": "us",
                "comment": "new"})

response = add_attachment_by_ref_tool({"project_slug": "slug", "entity_ref": 3, "entity_type": "us",
                "attachment_url": "url", "content_type": "png", "description": "desc"})

Using the Toolkit

You can also use TaigaToolkit to automatically gather both tools:

from langchain_taiga.toolkits import TaigaToolkit

toolkit = TaigaToolkit()
tools = toolkit.get_tools()

MCP Server

The package ships with a Model Context Protocol server powered by fastmcp. It exposes the same Taiga tools without changing their behaviour.

Running the Server

python -m langchain_taiga.mcp_server

Or without installing into your project (using uv):

uv run --with langchain-taiga python -m langchain_taiga.mcp_server

The server exports the following 17 tools for MCP clients: create_entity_tool, search_entities_tool, get_entity_by_ref_tool, update_entity_by_ref_tool, add_comment_by_ref_tool, add_attachment_by_ref_tool, promote_issue_to_userstory_tool, list_custom_attributes_tool, set_custom_attributes_tool, get_custom_attributes_tool, sort_kanban_by_rice_tool, list_wiki_pages_tool, get_wiki_page_tool, create_wiki_page_tool, update_wiki_page_tool, whoami_tool, and list_project_members_tool. The same tools are returned by TaigaToolkit.get_tools().

VSCode

Add the following to your .vscode/mcp.json (or via the VSCode MCP settings UI):

{
  "servers": {
    "taiga": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "langchain-taiga",
        "python",
        "-m",
        "langchain_taiga.mcp_server"
      ],
      "env": {
        "TAIGA_API_URL": "${input:taiga_api_url}",
        "TAIGA_URL": "${input:taiga_url}",
        "TAIGA_USERNAME": "${input:taiga_username}",
        "TAIGA_PASSWORD": "${input:taiga_password}"
      }
    }
  },
  "inputs": [
    {
      "id": "taiga_api_url",
      "type": "promptString",
      "description": "Taiga API URL (e.g. https://api.taiga.io)",
      "password": false
    },
    {
      "id": "taiga_url",
      "type": "promptString",
      "description": "Taiga Web URL (e.g. https://tree.taiga.io)",
      "password": false
    },
    {
      "id": "taiga_username",
      "type": "promptString",
      "description": "Taiga Username",
      "password": false
    },
    {
      "id": "taiga_password",
      "type": "promptString",
      "description": "Taiga Password",
      "password": true
    }
  ]
}

Claude Code

Add the Taiga MCP server via the CLI:

claude mcp add taiga -- uv run --with langchain-taiga python -m langchain_taiga.mcp_server

This adds the server to your project's .claude/mcp.json. Make sure the Taiga environment variables are set in your shell, or pass them explicitly:

claude mcp add taiga -e TAIGA_API_URL=https://api.taiga.io -e TAIGA_URL=https://tree.taiga.io -e TAIGA_USERNAME=your_user -e TAIGA_PASSWORD=your_pass -- uv run --with langchain-taiga python -m langchain_taiga.mcp_server

Alternatively, add the entry manually to .claude/mcp.json:

{
  "mcpServers": {
    "taiga": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "langchain-taiga",
        "python",
        "-m",
        "langchain_taiga.mcp_server"
      ],
      "env": {
        "TAIGA_API_URL": "https://api.taiga.io",
        "TAIGA_URL": "https://tree.taiga.io",
        "TAIGA_USERNAME": "your_user",
        "TAIGA_PASSWORD": "your_pass"
      }
    }
  }
}

Claude Desktop / GitHub Copilot Chat

Add a similar entry to your MCP configuration, pointing to uv run --with langchain-taiga python -m langchain_taiga.mcp_server.


Tests

If you have a tests folder (e.g. tests/unit_tests/), you can run them (assuming Pytest) with:

pytest --maxfail=1 --disable-warnings -q

License

MIT License


Further Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_taiga-2.2.5.tar.gz (47.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_taiga-2.2.5-py3-none-any.whl (51.2 kB view details)

Uploaded Python 3

File details

Details for the file langchain_taiga-2.2.5.tar.gz.

File metadata

  • Download URL: langchain_taiga-2.2.5.tar.gz
  • Upload date:
  • Size: 47.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for langchain_taiga-2.2.5.tar.gz
Algorithm Hash digest
SHA256 27309fcd23845fc6d1e3a13970a66324f85ccc15791506822d0a623790db3e58
MD5 15e1214d0678e4648b1aed676f28a816
BLAKE2b-256 9ea022eb22cf636bb1735b46cf338d90593f2eb944143d75da13dd3f83201b66

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_taiga-2.2.5.tar.gz:

Publisher: ci_publish.yml on Shikenso-Analytics/langchain-taiga

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file langchain_taiga-2.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_taiga-2.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b896a49be9e60b336c9a0a4ec7dc778924211b7a322939d7efb77a4a7a505728
MD5 7dae7748eddf9f91775c7675120dcc5a
BLAKE2b-256 48afc0d7e0ab13b54de8e33d316920d5180487f3df5c45e36385991affa8317e

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_taiga-2.2.5-py3-none-any.whl:

Publisher: ci_publish.yml on Shikenso-Analytics/langchain-taiga

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page