# tuskr-mcp-server
Implements a Model Context Protocol (MCP) HTTP server for the [Tuskr REST API](https://tuskr.app/kb/latest/api)
Built on the FastMCP Python SDK.
Supports access token authentication.
## Installation
### Environment variables / `.env` file
Set up environment variables or configure the `.env` file using the `.env.example` template.
The following environment variables are supported:
```
TUSKR_ACCOUNT_ID=<your account id>
TUSKR_ACCESS_TOKEN=<your access token>
```
(this doc desc https://tuskr.app/kb/latest/api)
and optionally
```
MCP_PORT=<port you want to run MCP>
MCP_HOST=0.0.0.0
```
## Connect from client
Use the following template to connect the server
```
{
"mcpServers": {
"tuskr": {
"transport": "http",
"url": "http://<your-mcp-dns-or-ip>/mcp/",
"headers": {
"Authorization": "Bearer <your access token>",
"Account-ID": "<your-tuskr-account-id>"
}
}
}
}
```
The `Authorization` is mandatory.
The `Account-ID` is not required and can be set on the server side using the `TUSKR_ACCOUNT_ID` env variable. It's convenient in case you have single MCP Server for organization.
## Development
### Setup
1. Clone repo
2. Install development dependencies:
`uv sync --dev`
3. Create `.env` from `.env.example`
### Running MCP service
```
uv run --env-file .env src/main.py
```
### Running tests
The project uses pytest for testing. The following command will run all tests
```
uv run pytest -vsx
```
### Running linters
The project uses the `ruff` tool as a linter.
The following command allows to run linter
```
uv run ruff check
```
and this command allow to fix formatting
```
uv run ruff format
```
### Dockerization
The following command allows to build a docker image
```
docker build -t tuskr-mcp .
```
and then you can run it using the
```
docker run -it tuskr-mcp
```
Raw data
{
"_id": null,
"home_page": null,
"name": "tuskr-mcp-server",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "mcp, tuskr, model-context-protocol",
"author": null,
"author_email": "Ruslan Galinskii <galinskyifmo@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/8a/65/6773d507d94215d08664996dad28d19d99976d4f700556016b0e2b4a1fdf/tuskr_mcp_server-0.1.0.tar.gz",
"platform": null,
"description": "# tuskr-mcp-server\n\nImplements a Model Context Protocol (MCP) HTTP server for the [Tuskr REST API](https://tuskr.app/kb/latest/api)\n\nBuilt on the FastMCP Python SDK. \nSupports access token authentication.\n\n## Installation\n\n### Environment variables / `.env` file\n\nSet up environment variables or configure the `.env` file using the `.env.example` template.\n\nThe following environment variables are supported:\n\n```\nTUSKR_ACCOUNT_ID=<your account id>\nTUSKR_ACCESS_TOKEN=<your access token>\n```\n(this doc desc https://tuskr.app/kb/latest/api)\n\nand optionally \n```\nMCP_PORT=<port you want to run MCP>\nMCP_HOST=0.0.0.0\n```\n\n## Connect from client\n\nUse the following template to connect the server\n\n```\n{\n \"mcpServers\": {\n \"tuskr\": {\n \"transport\": \"http\",\n \"url\": \"http://<your-mcp-dns-or-ip>/mcp/\",\n \"headers\": {\n \"Authorization\": \"Bearer <your access token>\",\n \"Account-ID\": \"<your-tuskr-account-id>\"\n }\n }\n }\n}\n```\n\n\nThe `Authorization` is mandatory.\n\nThe `Account-ID` is not required and can be set on the server side using the `TUSKR_ACCOUNT_ID` env variable. It's convenient in case you have single MCP Server for organization.\n\n\n## Development\n\n### Setup\n\n1. Clone repo\n2. Install development dependencies:\n`uv sync --dev`\n3. Create `.env` from `.env.example`\n\n### Running MCP service\n\n```\nuv run --env-file .env src/main.py\n```\n\n### Running tests\n\nThe project uses pytest for testing. The following command will run all tests\n\n```\nuv run pytest -vsx\n```\n\n### Running linters\n\nThe project uses the `ruff` tool as a linter.\n\nThe following command allows to run linter\n\n```\nuv run ruff check\n```\n\nand this command allow to fix formatting\n\n```\nuv run ruff format\n```\n\n### Dockerization\n\nThe following command allows to build a docker image\n```\ndocker build -t tuskr-mcp .\n```\n\nand then you can run it using the\n```\ndocker run -it tuskr-mcp\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Add your description here",
"version": "0.1.0",
"project_urls": {
"Bug Tracker": "https://github.com/BoomBidiBuyBuy/tuskr-mcp-server/issues",
"Homepage": "https://github.com/BoomBidiBuyBuy/tuskr-mcp-server",
"Repository": "https://github.com/BoomBidiBuyBuy/tuskr-mcp-server.git"
},
"split_keywords": [
"mcp",
" tuskr",
" model-context-protocol"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3b5934c61d720dde0822faabea11386f253d6c97d408023256bd7a0e58eb8385",
"md5": "baad7ba29561375a4409d93d481d326c",
"sha256": "8264d1fec031ce4d12237b7731408167bbfbbc1da517db073b85c51425c99f51"
},
"downloads": -1,
"filename": "tuskr_mcp_server-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "baad7ba29561375a4409d93d481d326c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 5848,
"upload_time": "2025-08-08T18:48:59",
"upload_time_iso_8601": "2025-08-08T18:48:59.002837Z",
"url": "https://files.pythonhosted.org/packages/3b/59/34c61d720dde0822faabea11386f253d6c97d408023256bd7a0e58eb8385/tuskr_mcp_server-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8a656773d507d94215d08664996dad28d19d99976d4f700556016b0e2b4a1fdf",
"md5": "3b69bee588e3e8305d800e8a529bbd31",
"sha256": "ff78a13ceadf13ea17c6c80564cf81789210a20c4d9de144a461e55244c16707"
},
"downloads": -1,
"filename": "tuskr_mcp_server-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "3b69bee588e3e8305d800e8a529bbd31",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 5638,
"upload_time": "2025-08-08T18:49:00",
"upload_time_iso_8601": "2025-08-08T18:49:00.415107Z",
"url": "https://files.pythonhosted.org/packages/8a/65/6773d507d94215d08664996dad28d19d99976d4f700556016b0e2b4a1fdf/tuskr_mcp_server-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-08 18:49:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "BoomBidiBuyBuy",
"github_project": "tuskr-mcp-server",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tuskr-mcp-server"
}