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.

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.
  • 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.

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 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, list_wiki_pages_tool, get_wiki_page_tool, create_wiki_page_tool, and update_wiki_page_tool.

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-1.8.2.tar.gz (24.3 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-1.8.2-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for langchain_taiga-1.8.2.tar.gz
Algorithm Hash digest
SHA256 64a29be24df6f98ad396f713dc5dc54cdcbb357a71abfbcff98e7391d935aa33
MD5 46e5b7a780ecb5043bf7b041e4329eaf
BLAKE2b-256 3a8e98b2d7ce92345b142eecc8ae75167ff3415056e5435c295d3e601b2ec008

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_taiga-1.8.2.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-1.8.2-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_taiga-1.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e7ba00702fa7e7c03150f544396c3ea678f526f9e000b5a75aab19997ebd856b
MD5 e364426da1afd613cc099bdedf1850bc
BLAKE2b-256 ace989cf36f63b7ea2b5f3a8bb260f9d036e96b7179d9a98e3038a51d5d215b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_taiga-1.8.2-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