Skip to main content
Glama

Twitter MCP Server

TweetStreamParser.js1.84 kB
import { EventEmitter } from 'events'; export default class TweetStreamParser extends EventEmitter { constructor() { super(...arguments); this.currentMessage = ''; } // Code partially belongs to twitter-stream-api for this // https://github.com/trygve-lie/twitter-stream-api/blob/master/lib/parser.js push(chunk) { this.currentMessage += chunk; chunk = this.currentMessage; const size = chunk.length; let start = 0; let offset = 0; while (offset < size) { // Take [offset, offset+1] inside a new string if (chunk.slice(offset, offset + 2) === '\r\n') { // If chunk contains \r\n after current offset, // parse [start, ..., offset] as a tweet const piece = chunk.slice(start, offset); start = offset += 2; // If empty object if (!piece.length) { continue; } try { const payload = JSON.parse(piece); if (payload) { this.emit(EStreamParserEvent.ParsedData, payload); continue; } } catch (error) { this.emit(EStreamParserEvent.ParseError, error); } } offset++; } this.currentMessage = chunk.slice(start, size); } /** Reset the currently stored message (f.e. on connection reset) */ reset() { this.currentMessage = ''; } } export var EStreamParserEvent; (function (EStreamParserEvent) { EStreamParserEvent["ParsedData"] = "parsed data"; EStreamParserEvent["ParseError"] = "parse error"; })(EStreamParserEvent || (EStreamParserEvent = {}));

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/crazyrabbitLTC/mcp-twitter-server'

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