Skip to main content
Glama

get_submission

Retrieve a specific Reddit post or comment using its unique submission ID to access content details and metadata.

Instructions

Accéder à une soumission

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
submission_idYesL'ID de la soumission à récupérer

Implementation Reference

  • Main handler function for the 'get_submission' tool. Fetches submission data from Reddit client, formats it using formatPostInfo, and returns structured content.
    export async function getSubmission(params: { submission_id: string }) {
      const { submission_id } = params;
      const client = getRedditClient();
    
      if (!client) {
        throw new McpError(
          ErrorCode.InternalError,
          "Reddit client not initialized"
        );
      }
    
      try {
        console.log(`[Tool] Getting submission ${submission_id}`);
        const submission = await client.getSubmission(submission_id);
        const formattedSubmission = formatPostInfo(submission);
    
        return {
          content: [
            {
              type: "text",
              text: `
    # Soumission Reddit
    
    ## Détails de la soumission
    - Titre: ${formattedSubmission.title}
    - Type: ${formattedSubmission.type}
    - Auteur: u/${formattedSubmission.author}
    - Subreddit: r/${formattedSubmission.subreddit}
    
    ## Contenu
    ${formattedSubmission.content}
    
    ## Statistiques
    - Score: ${formattedSubmission.stats.score.toLocaleString()}
    - Ratio de votes positifs: ${(formattedSubmission.stats.upvoteRatio * 100).toFixed(1)}%
    - Commentaires: ${formattedSubmission.stats.comments.toLocaleString()}
    
    ## Métadonnées
    - Posté: ${formattedSubmission.metadata.posted}
    - Drapeaux: ${formattedSubmission.metadata.flags.length ? formattedSubmission.metadata.flags.join(", ") : "Aucun"}
    - Flair: ${formattedSubmission.metadata.flair}
    
    ## Liens
    - Post complet: ${formattedSubmission.links.fullPost}
    - Lien court: ${formattedSubmission.links.shortLink}
    
    ## Analyse d'engagement
    ${formattedSubmission.engagementAnalysis}
    
    ## Meilleur moment pour s'engager
    ${formattedSubmission.bestTimeToEngage}
              `,
            },
          ],
        };
      } catch (error) {
        console.error(`[Error] Error getting submission: ${error}`);
        throw new McpError(
          ErrorCode.InternalError,
          `Failed to fetch submission: ${error}`
        );
      }
    }
  • src/index.ts:264-276 (registration)
    Registration of the 'get_submission' tool in the ListTools handler, including name, description, and input schema.
      name: "get_submission",
      description: "Accéder à une soumission",
      inputSchema: {
        type: "object",
        properties: {
          submission_id: {
            type: "string",
            description: "L'ID de la soumission à récupérer",
          },
        },
        required: ["submission_id"],
      },
    },
  • src/index.ts:483-486 (registration)
    Dispatcher case in CallToolRequestSchema handler that routes calls to the getSubmission tool function.
    case "get_submission":
      return await tools.getSubmission(
        toolParams as { submission_id: string }
      );
  • Helper method in RedditClient class that delegates to getPost for fetching submission data.
    async getSubmission(submissionId: string): Promise<RedditPost> {
      // Cette méthode est similaire à getPost, mais optimisée pour les submissions
      return await this.getPost(submissionId);
    }

Latest Blog Posts

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/samy-clivolt/reddit-mcp-server'

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