Skip to main content
Glama
scmdr

SourceSync.ai MCP Server

by scmdr

semanticSearch

Find relevant content by meaning across namespaces using semantic search, enabling discovery beyond exact keyword matches.

Instructions

Performs semantic search across the namespace to find relevant content based on meaning rather than exact keyword matches.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
namespaceIdNo
queryYes
topKNo
scoreThresholdNo
filterNo
tenantIdNo
searchTypeNo

Implementation Reference

  • The core handler function in SourceSyncApiClient that performs the semantic search by making a POST request to the '/v1/search' endpoint with the provided query and parameters.
    public async semanticSearch({ query, topK, scoreThreshold, filter, searchType, }: Omit< SourceSyncSemanticSearchRequest, 'namespaceId' >): Promise<SourceSyncSearchResponse> { return this.client .url('/v1/search') .json({ query, namespaceId: this.namespaceId, topK, scoreThreshold, filter, searchType, } satisfies SourceSyncSemanticSearchRequest) .post() .json<SourceSyncSearchResponse>() }
  • Zod schema defining the input parameters and validation for the semanticSearch tool.
    export const SemanticSearchSchema = z.object({ namespaceId: namespaceIdSchema.optional(), query: z.string(), topK: z.number().optional(), scoreThreshold: z.number().optional(), filter: z .object({ metadata: z.record(z.union([z.string(), z.array(z.string())])).optional(), }) .optional(), tenantId: tenantIdSchema, searchType: SearchTypeEnum.optional(), })
  • src/index.ts:571-600 (registration)
    Registers the 'semanticSearch' tool with the MCP server, including description, input schema, and wrapper handler that creates a client and delegates to the semanticSearch method.
    server.tool( 'semanticSearch', 'Performs semantic search across the namespace to find relevant content based on meaning rather than exact keyword matches.', SemanticSearchSchema.shape, async (params: any) => { return safeApiCall(async () => { const { namespaceId, query, topK, scoreThreshold, filter, tenantId, searchType, } = params // Create a client with the provided parameters const client = createClient({ namespaceId, tenantId }) // Call the semanticSearch method with the searchType (default to SEMANTIC if not provided) return await client.semanticSearch({ query, topK, scoreThreshold, filter, searchType: searchType || SourceSyncSearchType.SEMANTIC, }) }) }, )
  • TypeScript type definition for the SourceSyncSemanticSearchRequest used in the semanticSearch handler.
    export type SourceSyncSemanticSearchRequest = { query: string namespaceId: string topK?: number scoreThreshold?: number filter?: SourceSyncSearchFilter searchType?: SourceSyncSearchType.SEMANTIC }

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/scmdr/sourcesyncai-mcp'

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