<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.secondtruth-labs.com/index.php?action=history&amp;feed=atom&amp;title=Trivial_Service_Discovery_Protocol</id>
	<title>Trivial Service Discovery Protocol - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.secondtruth-labs.com/index.php?action=history&amp;feed=atom&amp;title=Trivial_Service_Discovery_Protocol"/>
	<link rel="alternate" type="text/html" href="http://wiki.secondtruth-labs.com/index.php?title=Trivial_Service_Discovery_Protocol&amp;action=history"/>
	<updated>2026-06-13T19:15:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://wiki.secondtruth-labs.com/index.php?title=Trivial_Service_Discovery_Protocol&amp;diff=4&amp;oldid=prev</id>
		<title>imported&gt;Import at 16:36, 31 December 2025</title>
		<link rel="alternate" type="text/html" href="http://wiki.secondtruth-labs.com/index.php?title=Trivial_Service_Discovery_Protocol&amp;diff=4&amp;oldid=prev"/>
		<updated>2025-12-31T16:36:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox protocol&lt;br /&gt;
| name            = Trivial Service Discovery Protocol&lt;br /&gt;
| developer       = [[secondtruthLabs]]&lt;br /&gt;
| status          = Stable&lt;br /&gt;
| first_published = 2025&lt;br /&gt;
| latest_version  = 1.0&lt;br /&gt;
| transport       = [[wp:User Datagram Protocol|UDP]] Multicast&lt;br /&gt;
| default_port    = 7920&lt;br /&gt;
| encoding        = [[wp:UTF-8|UTF-8]]&lt;br /&gt;
| license         = [[wp:Public domain|Public Domain]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Trivial Service Discovery Protocol&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;TSDP&amp;#039;&amp;#039;&amp;#039;) is a minimal [[wp:User Datagram Protocol|UDP]] [[wp:IP_multicast|multicast]] protocol for zero-configuration service discovery on local and trusted networks. Developed by [[secondtruthLabs]], it enables automatic discovery of services without requiring a central registry.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
TSDP provides a simple mechanism for services to announce their presence and for clients to discover available services. It is protocol-agnostic and can be used to discover any type of service.&lt;br /&gt;
&lt;br /&gt;
=== Design philosophy ===&lt;br /&gt;
&lt;br /&gt;
* Trivial enough to implement in an afternoon&lt;br /&gt;
* Protocol-agnostic discovery&lt;br /&gt;
* Multicast-based for zero-config operation&lt;br /&gt;
* Secure enough for trusted networks&lt;br /&gt;
&lt;br /&gt;
== Technical specification ==&lt;br /&gt;
&lt;br /&gt;
=== Network configuration ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Multicast Address || 239.255.83.68&lt;br /&gt;
|-&lt;br /&gt;
| Port || 7920&lt;br /&gt;
|-&lt;br /&gt;
| Transport || UDP&lt;br /&gt;
|-&lt;br /&gt;
| Max Message Size || 512 bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Message format ===&lt;br /&gt;
&lt;br /&gt;
Messages are single-line, space-separated plain text:&lt;br /&gt;
&lt;br /&gt;
{{Code example&lt;br /&gt;
| language = text&lt;br /&gt;
| caption  = Message format&lt;br /&gt;
| code     = &amp;lt;command&amp;gt; &amp;lt;protocol&amp;gt; &amp;lt;id&amp;gt; &amp;lt;endpoint&amp;gt; [&amp;lt;metadata&amp;gt;]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Commands ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command !! Direction !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DISCOVER&amp;lt;/code&amp;gt; || Client → Network || Request services matching criteria&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ANNOUNCE&amp;lt;/code&amp;gt; || Service → Network || Announce service availability&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;GOODBYE&amp;lt;/code&amp;gt; || Service → Network || Announce service shutdown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
{{Code example&lt;br /&gt;
| language = text&lt;br /&gt;
| caption  = Discovery request&lt;br /&gt;
| code     = DISCOVER agentfinger * *&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Code example&lt;br /&gt;
| language = text&lt;br /&gt;
| caption  = Service announcement&lt;br /&gt;
| code     = ANNOUNCE agentfinger myagent tcp://192.168.1.100:7922 capabilities=chat,code&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Code example&lt;br /&gt;
| language = text&lt;br /&gt;
| caption  = Shutdown notice&lt;br /&gt;
| code     = GOODBYE agentfinger myagent tcp://192.168.1.100:7922&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Wildcards ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; character serves as a wildcard:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;DISCOVER * * *&amp;lt;/code&amp;gt; – Discover all services&lt;br /&gt;
* &amp;lt;code&amp;gt;DISCOVER agentfinger * *&amp;lt;/code&amp;gt; – Discover all AgentFinger services&lt;br /&gt;
* &amp;lt;code&amp;gt;DISCOVER * myservice *&amp;lt;/code&amp;gt; – Find specific service ID across protocols&lt;br /&gt;
&lt;br /&gt;
=== Metadata ===&lt;br /&gt;
&lt;br /&gt;
Optional key-value pairs appended to messages:&lt;br /&gt;
&lt;br /&gt;
{{Code example&lt;br /&gt;
| language = text&lt;br /&gt;
| caption  = Metadata format&lt;br /&gt;
| code     = key1=value1,key2=value2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Spaces in values must be URL-encoded.&lt;br /&gt;
&lt;br /&gt;
== Protocol support ==&lt;br /&gt;
&lt;br /&gt;
TSDP can discover services for any protocol:&lt;br /&gt;
&lt;br /&gt;
* [[AgentFinger]]&lt;br /&gt;
* [[wp:Model_Context_Protocol|MCP]]&lt;br /&gt;
* [[wp:Gemini (protocol)|Gemini]]&lt;br /&gt;
* [[wp:Gopher (protocol)|Gopher]]&lt;br /&gt;
* Custom protocols&lt;br /&gt;
&lt;br /&gt;
== Security considerations ==&lt;br /&gt;
&lt;br /&gt;
TSDP is designed for trusted local networks. It does not provide:&lt;br /&gt;
&lt;br /&gt;
* Authentication&lt;br /&gt;
* Encryption&lt;br /&gt;
* Access control&lt;br /&gt;
&lt;br /&gt;
Deployments on untrusted networks should use additional security measures such as VPNs or network segmentation.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[AgentFinger]]&lt;br /&gt;
* [[wp:Multicast DNS]]&lt;br /&gt;
* [[wp:Service Location Protocol]]&lt;br /&gt;
* [[wp:Simple Service Discovery Protocol]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/secondtruth/tsdp TSDP Specification Repository]&lt;br /&gt;
&lt;br /&gt;
[[Category:Discovery Protocols]]&lt;br /&gt;
[[Category:Multicast Protocols]]&lt;br /&gt;
{{stLabs protocol}}&lt;/div&gt;</summary>
		<author><name>imported&gt;Import</name></author>
	</entry>
</feed>