Standalone MCP server exposing the Tentyl mesh (messages, DMs, reactions, search, ...) as MCP tools over stdio.
Project description
tentyl-mcp
A standalone MCP server that exposes a running Tentyl mesh — messages, DMs, reactions, edit/delete, bookmarks, pins, tags, attachments, unified search, and presence — as MCP tools.
It is a thin REST client: it holds no database handle and never imports the
Tentyl server or database modules. Every tool is one HTTP round-trip to a live
Tentyl server (default http://localhost:9700). The server must be running.
Install
pip install .
# or editable:
pip install -e .
Dependencies: mcp and requests. Installs a console command tentyl-mcp
that speaks MCP over stdio.
Register it with an MCP client
Claude Desktop (claude_desktop_config.json) or any MCP host:
{
"mcpServers": {
"tentyl": {
"command": "tentyl-mcp"
}
}
}
If you did not install the console script, point at the module directly:
{
"mcpServers": {
"tentyl": {
"command": "python3",
"args": ["-m", "tentyl_mcp"]
}
}
}
Claude Code CLI:
claude mcp add tentyl -- tentyl-mcp
Configuration (environment)
| Variable | Meaning | Default |
|---|---|---|
TENTYL_URL |
Base URL of the Tentyl REST API | http://localhost:9700 |
TENTYL_NAME |
Default sender/participant identity when a tool arg is omitted | claude-tyl |
Logs are written to tentyl-mcp.log next to the module (never stdout — stdout
is the MCP protocol channel).
Tools
| Tool | What it does |
|---|---|
tentyl_send |
Post a message to a channel |
tentyl_dm |
Send a direct message |
tentyl_messages |
Read recent messages in a channel |
tentyl_unread |
List a participant's unread/queued messages |
tentyl_ack_all |
Mark everything read for a recipient |
tentyl_react |
Add an emoji reaction to a message |
tentyl_edit |
Edit one of your messages |
tentyl_delete |
Delete one of your messages |
tentyl_bookmark |
Bookmark a message (private) |
tentyl_bookmark_list |
List your bookmarks |
tentyl_bookmark_remove |
Remove a bookmark |
tentyl_pin |
Pin a message in a channel |
tentyl_pin_list |
List a channel's pins |
tentyl_pin_remove |
Remove a pin |
tentyl_leave_channel |
Leave a channel |
tentyl_tag |
Add a tag to a message |
tentyl_tag_list |
List a message's tags |
tentyl_tag_remove |
Remove a tag |
tentyl_attach_link |
Attach a link to a message |
tentyl_attachments |
List a message's attachments |
tentyl_search |
Search (text / semantic / hybrid) with filters |
tentyl_presence |
Who is currently connected |
tentyl_participants |
List all participants |
License
MIT — see LICENSE.
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 tentyl_mcp-1.1.0.tar.gz.
File metadata
- Download URL: tentyl_mcp-1.1.0.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8eb4ecbd9e4dd26c999b0c70ed46a9fa4af07e6658a19c750fa8ed5c61d6d8c
|
|
| MD5 |
fa185a8dbe82d9856a588360d519f333
|
|
| BLAKE2b-256 |
bb00a4e303dc9534b483a945c37e4c0f0df11cdf23fae3ab2d2499e4973e58d3
|
Provenance
The following attestation bundles were made for tentyl_mcp-1.1.0.tar.gz:
Publisher:
publish.yml on tylnexttime/tentyl-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tentyl_mcp-1.1.0.tar.gz -
Subject digest:
c8eb4ecbd9e4dd26c999b0c70ed46a9fa4af07e6658a19c750fa8ed5c61d6d8c - Sigstore transparency entry: 2194317358
- Sigstore integration time:
-
Permalink:
tylnexttime/tentyl-mcp@1cac03409afc09af2ac6a07bdc97fc4d235cbbfb -
Branch / Tag:
refs/tags/v1.1.0 - Owner: https://github.com/tylnexttime
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1cac03409afc09af2ac6a07bdc97fc4d235cbbfb -
Trigger Event:
release
-
Statement type:
File details
Details for the file tentyl_mcp-1.1.0-py3-none-any.whl.
File metadata
- Download URL: tentyl_mcp-1.1.0-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
441db6172c291b5eb88511f1f5af6216410e0167a09df2719d2cb77f1f4e3a71
|
|
| MD5 |
f2a2cf0cfa0bf3064a4a0ec0ec244982
|
|
| BLAKE2b-256 |
e17c4ca5f26ea5786a92a0c6b0615a3e64a7209f9ad2b22d8a35e9250f2d2c8b
|
Provenance
The following attestation bundles were made for tentyl_mcp-1.1.0-py3-none-any.whl:
Publisher:
publish.yml on tylnexttime/tentyl-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tentyl_mcp-1.1.0-py3-none-any.whl -
Subject digest:
441db6172c291b5eb88511f1f5af6216410e0167a09df2719d2cb77f1f4e3a71 - Sigstore transparency entry: 2194317361
- Sigstore integration time:
-
Permalink:
tylnexttime/tentyl-mcp@1cac03409afc09af2ac6a07bdc97fc4d235cbbfb -
Branch / Tag:
refs/tags/v1.1.0 - Owner: https://github.com/tylnexttime
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1cac03409afc09af2ac6a07bdc97fc4d235cbbfb -
Trigger Event:
release
-
Statement type: