Sequential Thinking Tool API

by bta4935
Integrations
  • Provides examples for interacting with the Sequential Thinking Tool API, demonstrating how to create sessions and post thoughts using curl commands.

  • Built as a Node.js backend service, providing the runtime environment for the Sequential Thinking Tool API.

  • Utilizes npm for package management and running predefined scripts for development and server execution.

API des Sequential Thinking Tools

Ein Node.js/TypeScript-Backend zum Verwalten sequenzieller Denksitzungen und Gedanken, mit robuster Eingabevalidierung mit Zod und einem einfachen In-Memory-Sitzungsspeicher.

Inhaltsverzeichnis


Installation

  1. Klonen Sie das Repository:
    git clone <your-repo-url> cd SQ
  2. Installieren Sie Abhängigkeiten:
    npm install

Ausführen des Servers

Verwenden von ts-node (Entwicklung)

npx ts-node src/api/httpServer.ts

Verwenden eines npm-Skripts (falls verfügbar)

npm run dev

Verwenden von kompiliertem JavaScript

npx tsc node dist/api/httpServer.js

Der Server wird standardmäßig auf Port 3000 oder dem in Ihrer Umgebungsvariablen PORT angegebenen Port gestartet.


API-Endpunkte

1. Sitzung mit erstem Gedanken erstellen

  • Endpunkt: POST /api/sessions
  • Beschreibung: Erstellt eine neue Sitzung und speichert den eingegebenen Gedanken als ersten Gedanken in dieser Sitzung. Gibt die neue Sitzungs-ID und die verarbeiteten Gedankeninformationen zurück.
  • Anforderungstext:
    { "thought": "string (required)", "thoughtNumber": 1, "totalThoughts": 3, "nextThoughtNeeded": true, "isRevision": false, // optional "revisesThought": 2, // optional "branchFromThought": 1, // optional "branchId": "string", // optional "needsMoreThoughts": false // optional }
  • Antwort:
    { "sessionId": "<uuid>", "thoughtNumber": 1, "totalThoughts": 3, "nextThoughtNeeded": true, "branches": [], "thoughtHistoryLength": 1, "processedThought": "This is my first thought." }

2. Posten Sie zusätzliche Gedanken

  • Endpunkt: POST /api/sessions/:sessionId/thoughts
  • Beschreibung: Fügt der angegebenen Sitzung einen Gedanken hinzu. Die Eingabe wird mit Zod validiert.
  • Anforderungstext:
    { "thought": "string (required)", "thoughtNumber": 2, "totalThoughts": 3, "nextThoughtNeeded": true, "isRevision": false, // optional "revisesThought": 1, // optional "branchFromThought": 1, // optional "branchId": "string", // optional "needsMoreThoughts": false // optional }
  • Antwort:
    { "thoughtNumber": 2, "totalThoughts": 3, "nextThoughtNeeded": true, "branches": [], "thoughtHistoryLength": 2, "processedThought": "This is my second thought." }

MCP SSE (Server-Sent Events)

Überblick

Der MCP SSE-Endpunkt ermöglicht das Echtzeit-Streaming von Serverereignissen an Clients mithilfe von Server-Sent Events (SSE). Dies ist nützlich für Clients, die Updates zu Sitzungen oder Gedankenverarbeitung erhalten möchten, ohne den Server abzufragen.

Endpunkt

  • GET /api/mcp/sse
  • Beschreibung: Stellt eine dauerhafte SSE-Verbindung her. Der Server überträgt Ereignisse an den Client, sobald sie auftreten.
  • Antwort:
    • Inhaltstyp: text/event-stream
    • Ereignisse werden als Zeilen gesendet, die mit data: beginnen, gefolgt von einem JSON-codierten Ereignisobjekt.

Beispiel für einen curl-Befehl

curl -N http://localhost:3000/api/mcp/sse

Beispiel einer Ereignisantwort

data: {"event":"thoughtProcessed","sessionId":"...","thoughtNumber":1,"message":"Thought processed successfully."}

Verwendungshinweise

  • Halten Sie die Verbindung offen, um weiterhin Ereignisse zu empfangen.
  • Jedes Ereignis ist ein JSON-Objekt. Behandeln Sie jedes Ereignis, sobald es auf der Clientseite eintrifft.
  • Wenn Sie auf Ereignisse für eine bestimmte Sitzung warten müssen, schließen Sie Abfrageparameter ein, die von Ihrer Implementierung unterstützt werden (z. B. /api/mcp/sse?sessionId=... ).

Validierung

Alle POST-Anfragen an /thoughts werden mit Zod validiert. Ungültige Anfragen geben den Status 400 und eine Liste mit Validierungsfehlern zurück.


Benutzerfluss: Sitzung beim ersten Gedanken erstellt

  1. Der Benutzer sendet seinen ersten Gedanken an /api/sessions
    • Der Server erstellt eine neue Sitzung und speichert den ersten Gedanken.
    • Gibt die neue sessionId und die verarbeiteten Gedankeninformationen zurück.

    Beispiel-Curl:

    curl -X POST http://localhost:3000/api/sessions \ -H "Content-Type: application/json" \ -d '{ "thought": "This is my first thought.", "thoughtNumber": 1, "totalThoughts": 3, "nextThoughtNeeded": true }'

    Beispielantwort:

    { "sessionId": "abc123", "thoughtNumber": 1, "totalThoughts": 3, "nextThoughtNeeded": true, "branches": [], "thoughtHistoryLength": 1, "processedThought": "This is my first thought." }
  2. Der Benutzer sendet zusätzliche Gedanken an /api/sessions/:sessionId/thoughts
    • Der Server fügt den Gedanken der bestehenden Sitzung hinzu.

    Beispiel-Curl:

    curl -X POST http://localhost:3000/api/sessions/abc123/thoughts \ -H "Content-Type: application/json" \ -d '{ "thought": "This is my second thought.", "thoughtNumber": 2, "totalThoughts": 3, "nextThoughtNeeded": true }'

    Beispielantwort:

    { "thoughtNumber": 2, "totalThoughts": 3, "nextThoughtNeeded": true, "branches": [], "thoughtHistoryLength": 2, "processedThought": "This is my second thought." }

Beispiel einer Fehlerantwort (ungültige Eingabe)

{ "errors": [ { "path": ["thought"], "message": "Thought cannot be empty" } ] }

Entwicklung

  • Die TypeScript-Konfiguration befindet sich in tsconfig.json .
  • Zod-Schemas befinden sich in src/types.ts .
  • Die Validierungs-Middleware befindet sich in src/api/validationMiddleware.ts .
  • Die Hauptserverlogik befindet sich in src/api/httpServer.ts .

Lizenz

MIT

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Ein Node.js/TypeScript-Backend zum Verwalten sequenzieller Denksitzungen, das es Benutzern ermöglicht, Sitzungen zu erstellen und Gedanken in einer strukturierten Sequenz zu posten, mit Unterstützung für Echtzeit-Updates über Server-Sent Events.

  1. Inhaltsverzeichnis
    1. Installation
      1. Ausführen des Servers
        1. Verwenden von ts-node (Entwicklung)
        2. Verwenden eines npm-Skripts (falls verfügbar)
        3. Verwenden von kompiliertem JavaScript
      2. API-Endpunkte
        1. Sitzung mit erstem Gedanken erstellen
        2. Posten Sie zusätzliche Gedanken
      3. MCP SSE (Server-Sent Events)
        1. Überblick
        2. Endpunkt
        3. Beispiel für einen curl-Befehl
        4. Beispiel einer Ereignisantwort
        5. Verwendungshinweise
      4. Validierung
        1. Benutzerfluss: Sitzung beim ersten Gedanken erstellt
          1. Beispiel einer Fehlerantwort (ungültige Eingabe)
        2. Entwicklung
          1. Lizenz

            Related MCP Servers

            • -
              security
              F
              license
              -
              quality
              This TypeScript-based server implements a simple notes system, allowing users to create and manage text notes and generate summaries, showcasing core MCP concepts.
              Last updated -
              2
              7
              TypeScript
              • Apple
            • A
              security
              F
              license
              A
              quality
              A TypeScript Model Context Protocol server that integrates with Google Tasks API, allowing users to create, list, update, delete, and toggle completion status of tasks.
              Last updated -
              4
              3
              JavaScript
            • A
              security
              A
              license
              A
              quality
              Node.js server implementing Model Context Protocol that enables interaction with TaskWarrior through natural language to view, filter, add, and complete tasks.
              Last updated -
              3
              13
              1
              JavaScript
              MIT License
            • -
              security
              F
              license
              -
              quality
              A Node.js and TypeScript server project that provides a simple starter example with Express.js web server, supporting hot-reload, testing, and modular structure.
              Last updated -
              TypeScript

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/bta4935/SQ-MCP'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server