mcpField
R
Recall Data Omnifeeds

Recall Data Omnifeeds

Local
github.com/recallnetData & Analytics0Updated 82w ago

About Recall Data Omnifeeds

Recall Data Omnifeeds is an MCP server that brings Twitter, Substack, and CoinGecko data into a unified interface. It is for AI models and Agents that need to search, retrieve, analyze, or, for supported Twitter actions, interact with these sources.

Key features

  1. 01Twitter profile, post, and trend access
  2. 02Twitter search and posting actions
  3. 03Substack publication, post, and comment access
  4. 04CoinGecko price, contract, and token search
  5. 05Trending token lookup

Use cases

  1. 01Searching Twitter posts and trends
  2. 02Retrieving Substack publications and comments
  3. 03Checking token prices and contract networks
  4. 04Posting or engaging on Twitter

MCP support

It exposes tools for Twitter, Substack, and CoinGecko through a unified MCP server, usable by MCP-compatible clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Recall Data Omnifeeds

A Model Context Protocol (MCP) server that provides access to various data feeds including Twitter, Substack, and CoinGecko. This server enables AI models to interact with and analyze data from multiple sources through a unified interface.

Features

  • Twitter Integration

    • Get user profiles and tweets
    • Search tweets and profiles
    • Access trending topics
    • Full write access (tweet, like, retweet, follow)
    • Direct messaging support
    • Grok chat integration
  • Substack Integration

    • Get publication information
    • Retrieve recent posts
    • Access post comments
    • Search posts
    • Support for both custom domains and subdomains
  • CoinGecko Integration

    • Get current token prices
    • Retrieve contract addresses and chains
    • Search for tokens
    • Get trending tokens
    • Support for both free and Pro API access

Integrate with Claude

  1. Install and build the server:

    npm install
    npm run build
    
  2. In Claude, go to Settings -> Developer -> Add MCP endpoint

  3. Add the following configuration:

    {
      "mcpServers": {
        "recall-data-omnifeeds": {
          "command": "node",
          "args": ["path to omnifeeds build they just created"],
          "env": {
            "PORT": "3008",
            "TWITTER_USERNAME": "xx",
            "TWITTER_PASSWORD": "xxx",
            "TWITTER_EMAIL": "xxx",
            "COINGECKO_API_KEY": "xxx" (optional)
          }
        }
    }
    
  4. Restart Claude

  5. Verify the integration:

    • Look for a number next to a hammer icon in the bottom right of the prompt input
    • Test the integration by asking:
      has anyone mentioned a cool coin lately on this list https://x.com/i/lists/1879866762147303588?
      

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/recall-data-omnifeeds.git
    cd recall-data-omnifeeds
    
  2. Install dependencies:

    npm install
    
  3. Create a .env file with your API credentials:

    # Twitter credentials (if needed)
    TWITTER_USERNAME=your_twitter_username
    TWITTER_PASSWORD=your_twitter_password
    TWITTER_EMAIL=your_twitter_email
    
    # CoinGecko credentials (optional)
    COINGECKO_API_KEY=your_api_key  # Optional: enables Pro API features
    
  4. Build the project:

    npm run build
    
  5. Start the server:

    npm start
    

Usage

The server implements the Model Context Protocol (MCP) and can be used with any MCP-compatible client. Here are some example invocations:

Twitter Examples
// Get a user's profile
const result = await server.invoke("twitter-get-profile", {
  username: "example_user"
});

// Get recent tweets
const result = await server.invoke("twitter-get-tweets", {
  username: "example_user",
  count: 10
});

// Search tweets
const result = await server.invoke("twitter-search-tweets", {
  query: "example search",
  count: 20
});
Substack Examples
// Get publication info
const result = await server.invoke("substack-get-publication-info", {
  substackId: "example.substack.com"
});

// Get recent posts
const result = await server.invoke("substack-get-recent-posts", {
  substackId: "example.substack.com",
  limit: 10
});

// Search posts
const result = await server.invoke("substack-search-posts", {
  substackId: "example.substack.com",
  searchTerm: "example search",
  limit: 10
});
CoinGecko Examples
// Get token price
const result = await server.invoke("coingecko-get-price", {
  tokenId: "bitcoin",
  currency: "usd"
});

// Get contract addresses
const result = await server.invoke("coingecko-get-contracts", {
  tokenId: "usd-coin"
});

// Search tokens
const result = await server.invoke("coingecko-search", {
  query: "ethereum",
  limit: 5
});

// Get trending tokens
const result = await server.invoke("coingecko-trending", {
  limit: 5
});

API Reference

Twitter Tools
Tool NameDescriptionParameters
twitter-get-profileGet a user's profile informationusername (required)
twitter-get-tweetsGet recent tweets from a userusername (required), count (optional, default: 10)
twitter-search-tweetsSearch for tweetsquery (required), count (optional, default: 20)
twitter-get-trendsGet trending topicsNone
twitter-send-tweetSend a tweettext (required)
twitter-like-tweetLike a tweettweetId (required)
twitter-retweetRetweet a tweettweetId (required)
twitter-follow-userFollow a userusername (required)
Substack Tools
Tool NameDescriptionParameters
substack-get-publication-infoGet publication informationsubstackId (required)
substack-get-recent-postsGet recent postssubstackId (required), limit (optional, default: 10)
substack-search-postsSearch postssubstackId (required), searchTerm (required), limit (optional, default: 10)
substack-get-commentsGet comments for a postsubstackId (required), postId (required)
CoinGecko Tools
Tool NameDescriptionParameters
coingecko-get-featuresGet available CoinGecko API featuresNone
coingecko-get-priceGet the current price of a tokentokenId (required), currency (optional, default: "usd")
coingecko-get-contractsGet contract addresses and chains for a tokentokenId (required)
coingecko-searchSearch for tokens by queryquery (required), limit (optional, default: 10)
coingecko-trendingGet trending tokenslimit (optional, default: 10)

Development

Project Structure
recall-data-omnifeeds/
├── src/
│   ├── index.ts              # Main server entry point
│   ├── twitter-client.ts     # Twitter API client
│   ├── substack-client.ts    # Substack API client
│   ├── coingecko-client.ts   # CoinGecko API client
│   └── tools/               # MCP tool implementations
├── dist/                    # Compiled JavaScript files
├── package.json            # Project configuration
└── tsconfig.json          # TypeScript configuration
Building
npm run build
Running Tests
npm test

License

ISC

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.