list_funds
Filter and list investment funds in Turkey by type, code, management company, risk level, or search criteria. Supports sorting and pagination for efficient data retrieval.
Instructions
Yatırım fonlarını listeler ve filtreleme imkanı sunar
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Fon kodu veya kodları (virgülle ayrılmış) | |
| limit | No | Sayfa başına kayıt sayısı (varsayılan: 20, maksimum: 100) | |
| management_company | No | Portföy yönetim şirketi kodu | |
| max_risk_value | No | Maksimum risk seviyesi (1-7) | |
| min_risk_value | No | Minimum risk seviyesi (1-7) | |
| order | No | Sıralama yönü | |
| page | No | Sayfa numarası (varsayılan: 1) | |
| search | No | Fon adı, kodu, şirket adı ile arama | |
| sort | No | Sıralama alanı (code, title, yield_1y, vb.) | |
| tefas | No | TEFAS'ta işlem görme durumu | |
| type | No | Fon tipi |
Implementation Reference
- src/tools.ts:478-480 (handler)MCP tool handler for 'list_funds': parses arguments using Zod schema and calls the apiClient's listFunds method.case 'list_funds': const fundsParams = ListFundsSchema.parse(args); return await this.apiClient.listFunds(fundsParams);
- src/tools.ts:6-17 (schema)Zod schema defining input parameters for the list_funds tool.const ListFundsSchema = z.object({ page: z.number().min(1).optional(), limit: z.number().min(1).max(100).optional(), type: z.nativeEnum(FundTypeEnum).optional(), search: z.string().optional(), code: z.string().optional(), management_company: z.string().optional(), tefas: z.boolean().optional(), min_risk_value: z.number().min(1).max(7).optional(), max_risk_value: z.number().min(1).max(7).optional(), sort: z.string().optional(), order: z.enum(['ASC', 'DESC']).optional()
- src/tools.ts:89-150 (registration)Registration of the 'list_funds' tool in the getTools() method, including name, description, and input schema for MCP.{ name: 'list_funds', description: 'Yatırım fonlarını listeler ve filtreleme imkanı sunar', inputSchema: { type: 'object', properties: { page: { type: 'number', description: 'Sayfa numarası (varsayılan: 1)', minimum: 1 }, limit: { type: 'number', description: 'Sayfa başına kayıt sayısı (varsayılan: 20, maksimum: 100)', minimum: 1, maximum: 100 }, type: { type: 'string', description: 'Fon tipi', enum: Object.values(FundTypeEnum) }, search: { type: 'string', description: 'Fon adı, kodu, şirket adı ile arama' }, code: { type: 'string', description: 'Fon kodu veya kodları (virgülle ayrılmış)' }, management_company: { type: 'string', description: 'Portföy yönetim şirketi kodu' }, tefas: { type: 'boolean', description: 'TEFAS\'ta işlem görme durumu' }, min_risk_value: { type: 'number', description: 'Minimum risk seviyesi (1-7)', minimum: 1, maximum: 7 }, max_risk_value: { type: 'number', description: 'Maksimum risk seviyesi (1-7)', minimum: 1, maximum: 7 }, sort: { type: 'string', description: 'Sıralama alanı (code, title, yield_1y, vb.)' }, order: { type: 'string', description: 'Sıralama yönü', enum: ['ASC', 'DESC'] } } } },
- src/api-client.ts:56-59 (helper)Core implementation of listFunds in ApiClient: makes HTTP GET request to '/funds' endpoint with parameters.async listFunds(params: ListFundsParams = {}): Promise<PaginatedResponse<Fund>> { const response: AxiosResponse<PaginatedResponse<Fund>> = await this.client.get('/funds', { params }); return response.data; }
- src/types.ts:205-217 (schema)TypeScript interface defining the parameters for listFunds.export interface ListFundsParams { page?: number; limit?: number; type?: FundTypeEnum; search?: string; code?: string; management_company?: string; tefas?: boolean; min_risk_value?: number; max_risk_value?: number; sort?: string; order?: 'ASC' | 'DESC'; }