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
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
Further Documentation
-
For more details, see the docstrings in:
taiga_tools.pytoolkits.pyforTaigaToolkit
-
Official Taiga Developer Docs: https://docs.taiga.io/api.html
-
LangChain GitHub for general LangChain usage and tooling.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64a29be24df6f98ad396f713dc5dc54cdcbb357a71abfbcff98e7391d935aa33
|
|
| MD5 |
46e5b7a780ecb5043bf7b041e4329eaf
|
|
| BLAKE2b-256 |
3a8e98b2d7ce92345b142eecc8ae75167ff3415056e5435c295d3e601b2ec008
|
Provenance
The following attestation bundles were made for langchain_taiga-1.8.2.tar.gz:
Publisher:
ci_publish.yml on Shikenso-Analytics/langchain-taiga
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
langchain_taiga-1.8.2.tar.gz -
Subject digest:
64a29be24df6f98ad396f713dc5dc54cdcbb357a71abfbcff98e7391d935aa33 - Sigstore transparency entry: 975646034
- Sigstore integration time:
-
Permalink:
Shikenso-Analytics/langchain-taiga@600082405e8f5bb0a5ad6a8023e2f89fdf4f282f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Shikenso-Analytics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci_publish.yml@600082405e8f5bb0a5ad6a8023e2f89fdf4f282f -
Trigger Event:
push
-
Statement type:
File details
Details for the file langchain_taiga-1.8.2-py3-none-any.whl.
File metadata
- Download URL: langchain_taiga-1.8.2-py3-none-any.whl
- Upload date:
- Size: 24.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7ba00702fa7e7c03150f544396c3ea678f526f9e000b5a75aab19997ebd856b
|
|
| MD5 |
e364426da1afd613cc099bdedf1850bc
|
|
| BLAKE2b-256 |
ace989cf36f63b7ea2b5f3a8bb260f9d036e96b7179d9a98e3038a51d5d215b5
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
langchain_taiga-1.8.2-py3-none-any.whl -
Subject digest:
e7ba00702fa7e7c03150f544396c3ea678f526f9e000b5a75aab19997ebd856b - Sigstore transparency entry: 975646036
- Sigstore integration time:
-
Permalink:
Shikenso-Analytics/langchain-taiga@600082405e8f5bb0a5ad6a8023e2f89fdf4f282f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Shikenso-Analytics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci_publish.yml@600082405e8f5bb0a5ad6a8023e2f89fdf4f282f -
Trigger Event:
push
-
Statement type: